Javascript 为什么';替换(/\n/g,';<;br>;';)是否使用下划线.js?
我有一个字符串,Javascript 为什么';替换(/\n/g,';<;br>;';)是否使用下划线.js?,javascript,underscore.js,Javascript,Underscore.js,我有一个字符串,str,其中包含多行内容,我想使用上面提到的replace在HTML页面上用underline.js正确显示它,如下所示: <%= str.replace(/\n/g , '<br />' %> 那么为什么第一种方法不起作用呢?有没有一种方法可以让它在所有情况下都起作用呢?如果模板引擎将反斜杠用作转义字符,则可能需要将其加倍: <% str.replace(/\\n/g , '<br />' %> 哇,这是一个非常优雅的解决方案
str
,其中包含多行内容,我想使用上面提到的replace
在HTML页面上用underline.js
正确显示它,如下所示:
<%= str.replace(/\n/g , '<br />' %>
那么为什么第一种方法不起作用呢?有没有一种方法可以让它在所有情况下都起作用呢?如果模板引擎将反斜杠用作转义字符,则可能需要将其加倍:
<% str.replace(/\\n/g , '<br />' %>
哇,这是一个非常优雅的解决方案!谢谢。哦,对不起@muistooshort,我错过了这个问题中的
=
。但是,它在我的HTML文件中。什么是“包含多行内容的字符串”?转义(\
)是如何处理的?@Bergi它是一个字符串,在通用文本编辑器中查看时,将显示跨越多行的内容(其中包含换行符)。但它在网页上只显示了一行,因为浏览器会压缩所有的空白。至于转义,我认为\n
在到达javascript解释器之前被删除或修改了。然而,minitech下面的回答显示了一种避免完全自己处理换行符和其他空白的方法。你基本上是告诉浏览器按照字面意思来理解它们,而不是忽略它们。@udiboy1209:啊,对了。我想问的是(多行?)模板是如何存储的——作为脚本中的字符串,作为html文档的节点?@Bergi,在minitech的回答解决了这个问题后,我基本上不再深入研究这个问题。如果您感兴趣,可以查看github上的源代码。我提到的问题是在该插件的index.html
页面中。
<% str.replace(/\\n/g , '<br />' %>