如何\ n转换成HTML换行符

问题描述:

我使用这个插件来解析设置高亮bbcodeparser如何 n转换成HTML换行符

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

我尝试添加此:

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

...但没有奏效。

如何实现换行功能?

+0

请在这里发表的jsfiddle链路 – 2013-02-19 01:17:14

+1

'STR = str.replace(/ \ N/G, '
');' – adeneo 2013-02-19 01:18:01

+1

的[取代的Javascript新行字符]可能重复(http://*.com /我的问题/ 2136648/javascript-replacement-new-line-character) – Fraser 2013-02-19 01:22:09

实际上,浏览器不会将\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');} 
+0

$ 1和$ 2在这里做了什么? – Foreever 2014-05-19 09:15:32

+0

如果您指定了正确的CSS样式,浏览器会将其视为新行。 – Foreever 2014-05-19 11:28:00

+0

@但是:'$ 1'和'$ 2'指的是正则表达式中的第一和第二组(在'()'中是一个组)。因此,代码将保留字符串的原始部分,并在新行之前插入'
'标签。 – 2014-05-19 11:43:11

如果你这样做是为了展示新的生产线和在HTML返回车厢,那么你就需要明确地去做。你可以在css中通过设置空白属性预行的值。

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

辉煌!堆栈溢出救援再次... – daGUY 2014-11-14 02:55:43

+0

编辑:虽然它表示它不支持IE浏览器,它似乎在IE8 + 11工作正常:http://caniuse.com/#search=white-space – 2015-01-16 00:01:30

+1

预行会也崩溃了空白序列。如果你想保留空格,尝试预先包装。还有其他选项:https://developer.mozilla.org/en-US/docs/Web/CSS/white-space?v = example – KayakinKoder 2017-05-17 02:20:02