JavaScript заменить \n на <br/">
var messagetoSend = $.trim(document.getElementById("msgText").value);
messagetoSend = messagetoSend.replace("\n", "<br />");
alert(messagetoSend);
Данный ввод:
Line 1
Line 2
Line 3
Это предупреждение:
Line 1<br />
Line 2
Line 3
Когда я ожидаю, что он предупредит:
Line 1<br /><br /><br />Line 2<br /><br /><br /><br /><br />Line 3
Ответы
Ответ 1
Вам нужен/г для глобального сопоставления
replace(/\n/g, "<br/>");
Это работает для меня \n
- посмотрите этот ответ, если у вас есть \r\n
ПРИМЕЧАНИЕ . Дупе - наиболее полный ответ для любой комбинации \r\n
, \r
или \n
var messagetoSend = document.getElementById('x').value.replace(/\n/g, "<br />");
console.log(messagetoSend);
<textarea id="x" rows="9">
Line 1
Line 2
Line 3
</textarea>
Ответ 2
Обрабатывает любой тип разрыва строки
str.replace(new RegExp('\r?\n','g'), '<br />');
Ответ 3
Используйте регулярное выражение для .replace()
.:
messagetoSend = messagetoSend.replace(/\n/g, "<br />");
Если эти строки были сделаны с помощью кодирования Windows, вам также придется заменить carriage return
.
messagetoSend = messagetoSend.replace(/\r\n/g, "<br />");