玉 – 转换新的行,并保持内容编码

我还不太熟悉Jade模板引擎。 有没有办法将新行如\ n转换为br标签,同时保持其他内容的编码?

例如

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

应用于编码值应该做的工作。 不过,我不知道如何编码的价值,并得到结果。 有什么帮手吗?

       

网上收集的解决方案 "玉 – 转换新的行,并保持内容编码"

您可以使用jades escape方法,并在返回值中replace换行符,如下所示:

 p !{escape(foo).replace(/\n/g, '<br/>')} 

我不知道您的用例的任何内置function。


看起来帕格摆脱了逃生function,所以这是你现在必须使用的:

 p !{foo.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\n/g, '<br/>')} 

如果你不完全需要<br> ,你可以简单地把你的文本放在<pre>标签中。 所有空格(包括新行)都将显示为键入。

或者你可以设置CSS规则white-space: pre保留空白预格式化。 检查这个MDN 。

甚至将简单的空格('')字符转换为“%20”。

MDN表示转义已被弃用 ,它的意思是在url中编码string,而不是html内容。 另一个scheme

 each line in foo.split(/\n/) = line br 

你可以这么做:

 p !{someString.replace(/\n/g, '<br/>')} 

请注意,此方法将正确转义string。