Фиксирование перенос строки JS

Хотелось бы узнать, как в textarea проверять, стоит ли перенос строки, к примеру

if(textarea.value == "перенос"){
    textarea.value += "br"
}

И после того как жмешь на кнопку вывести (к примеру есть такая кнопка), то он в
местах где перенос, вставлял "br" или "p" (теги)


Ответы (2 шт):

Автор решения: Enokin

При нажатии enter, в значение textarea добавляется символ переноса строки. Это поведение по-умолчанию. Для вывода в HTML, переносы надо заменять на br.

value.replace(/\n/g, '<br/>');

Иначе переносы будут заменены пробелами.

→ Ссылка
Автор решения: MoloF

Вариант с помощью замены \n на <br />

button.onclick = () => {
    output.innerHTML = textarea.value.replace(/\n/g, '<br />');
};
<textarea id="textarea"></textarea>
<button id="button">Отобразить</button>
<p id="output"></p>


Вариант с помощью CSS white-space: pre-line;

textarea.oninput = (e) => (output.innerHTML = e.target.value);
p {
    white-space: pre-line;
}
<textarea id="textarea"></textarea>
<p id="output"></p>


Ваш вариант с помощью стоп слова.

textarea.oninput = (e) => {
    output.innerHTML = e.target.value.replace(/перенос/g, '<br />');
};
<textarea id="textarea"></textarea>
<p id="output"></p>

→ Ссылка