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

use*_*007 23 javascript

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

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

我尝试添加这个:

replace(/\r?\n|\r/g, '<br>')
Run Code Online (Sandbox Code Playgroud)

......但它没有用.

如何实现换行功能?

For*_*ver 89

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

<span style="white-space: pre-line">@Model.CommentText</span>
Run Code Online (Sandbox Code Playgroud)

  • pre-line也会崩溃空白序列.如果要保留空格,请尝试预先包装.还有其他选项:https://developer.mozilla.org/en-US/docs/Web/CSS/white-space?v = example (2认同)

Raj*_*tya 10

上面的答案帮助我解决了我的问题,但我进一步挖掘并找到了一些关于white-space属性的附加信息。我希望它可以帮助像我这样的人:

什么是white-space财产:

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

在此处输入图片说明


小智 3

实际上,浏览器并不将PHP nl2br\r\n视为真正的换行符 ,而在 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');}
Run Code Online (Sandbox Code Playgroud)