如何将\ n转换为HTML换行符

时间:2013-02-19 01:15:24

标签: javascript

我正在使用此插件来解析bbcode bbcodeparser

但它没有将\n转换为<br/>的功能。

我尝试添加这个:

replace(/\r?\n|\r/g, '<br>')

......但它不起作用。

如何实现换行功能?

4 个答案:

答案 0 :(得分:82)

如果您这样做是为了在html中显示新行并返回运输,那么您不需要明确地执行此操作。你可以通过设置 white-space 属性 pre-line 值在css中完成。

<span style="white-space: pre-line">@Model.CommentText</span>

答案 1 :(得分: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');}

答案 2 :(得分:1)

这对我有用

const regex = /\\n|\\r\\n|\\n\\r|\\r/g;
string.replace(regex, '<br>');

答案 3 :(得分:0)

以上答案帮助我解决了问题,但我进行了深入研究,发现了有关white-space属性的其他信息。我希望它可以帮助像我这样的人:

什么是white-space属性:

  

空白是CSS属性,可帮助控制如何处理元素文本中的空白和换行符。它可以采用以下值:normal,nowrap,pre,pre-line,pre-wrap。

enter image description here