我有一个包含多行内容的字符串str
,我希望使用上面提到的underscore.js
replace
在HTML页面上正确显示它,就像这样:
<%= str.replace(/\n/g , '<br />' %>
但这根本不起作用。它仍然在一行中打印字符串,并且不会用\n
替换任何<br />
。然而,这完美地运作:
<%= str.replace(/
/g , '<br />' %>
那么为什么第一种方式不起作用,是否有办法使其适用于所有情况?
答案 0 :(得分:7)
如果模板引擎将它们用作转义字符,则可能需要双重转义反斜杠:
<% str.replace(/\\n/g , '<br />' %>
但是,请考虑使用CSS:
.some-content {
white-space: pre-wrap;
}