Как преобразовать \n в разрыв строки HTML
Я использую этот плагин для анализа bbcode bbcodeparser
но он не имеет функций для преобразования \n
в <br/>
.
Я попытался добавить это:
replace(/\r?\n|\r/g, '<br>')
... но это не сработало.
Как я могу реализовать функцию разрыва строки?
Ответы
Ответ 1
Если вы делаете это, чтобы показать новую строку и вернуть карету в html, вам не нужно делать это явно. Вы можете сделать это в css, установив предварительное значение атрибута пробела.
<span style="white-space: pre-line">@Model.CommentText</span>
Ответ 2
на самом деле, браузеры не рассматривают \r\n
как реальные новые строки, в PHP nl2br, где, как и в Javascript, вы может использовать функцию ниже для эквивалента nl2br()
.
function nl2br (str, is_xhtml) {
var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';
return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + breakTag + '$2');}
Ответ 3
Приведенный выше ответ помог мне решить мою проблему, но я немного покопался и нашел дополнительную информацию о свойствах пустого white-space
. Я надеюсь, что это может помочь кому-то, как я:
Что такое свойство white-space
:
Пробел - это свойство CSS, которое помогает контролировать обработку пробелов и разрывов строк в тексте элемента. Он может принимать следующие значения: нормальный, nowrap, pre, pre-line, pre-wrap.
![enter image description here]()