我试图将json对象中的\r
或\n
字符替换为<br />
,以便在网站上显示。
我尝试了以下代码:
myString = myString.replace("\\r?\\n", "<br />");
但是这似乎没有任何作用。当我将正则表达式替换为其他内容(比如"a"
),替换按预期工作。有什么想法,为什么对于换行符不起作用?
我试图将json对象中的\r
或\n
字符替换为<br />
,以便在网站上显示。
我尝试了以下代码:
myString = myString.replace("\\r?\\n", "<br />");
但是这似乎没有任何作用。当我将正则表达式替换为其他内容(比如"a"
),替换按预期工作。有什么想法,为什么对于换行符不起作用?
试试这个:
myString = myString.replace(/[\r\n]/g, "<br />");
更新:如评论区下面Pointy所说,这将用两个<br />
替换一个\r\n
序列,正确的正则表达式应该是:
myString = myString.replace(/\r?\n/g, "<br />");
/\r?\n/g
将用单个<br>
替换任何单个换行符可选地在回车符之前出现。相反,您的正则表达式将用两个<br>
标签替换CR-LF序列。 - PointyCSS:
white-space: pre-wrap;
try replace(/\r\n|\n/, '<br />')
str = str.replace(/\\n|\\r\\n|\\r/g, '<br/>');
使用双斜杠
<pre>
标签中,这样可以保留空格呢? - Matt Ballwhite-space: pre;
- James