为什么string.replace(/ \ n / g,'<br/>')不能与underscore.js一起使用?

时间:2014-05-03 04:34:04

标签: javascript underscore.js

我有一个包含多行内容的字符串str,我希望使用上面提到的underscore.js replace在HTML页面上正确显示它,就像这样:

<%= str.replace(/\n/g , '<br />' %>

但这根本不起作用。它仍然在一行中打印字符串,并且不会用\n替换任何<br />。然而,这完美地运作:

<%= str.replace(/
/g , '<br />' %>

那么为什么第一种方式不起作用,是否有办法使其适用于所有情况?

1 个答案:

答案 0 :(得分:7)

如果模板引擎将它们用作转义字符,则可能需要双重转义反斜杠:

<% str.replace(/\\n/g , '<br />' %>

但是,请考虑使用CSS:

.some-content {
    white-space: pre-wrap;
}