Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js EJS-将新行转换为<;br/>;并对内容进行编码_Node.js_Ejs - Fatal编程技术网

Node.js EJS-将新行转换为<;br/>;并对内容进行编码

Node.js EJS-将新行转换为<;br/>;并对内容进行编码,node.js,ejs,Node.js,Ejs,这类似于 那么,在ejs中有没有简单的方法可以做到这一点: <%- escape(foo).replace(/\n/g, '<br/>') %> 这可以通过从ejs中提取escape方法并分配给res.locals来实现,但我正在寻找更优雅的方法,如果可能的话您可以使用以及您已经拥有的替换函数(假设foo是一个字符串) 当我不得不在页面中显示git提交消息时,我遇到了类似的问题。我查看了GitLab如何格式化提交消息,发现它们使用了空白:pre-wrap 因此,在我

这类似于

那么,在ejs中有没有简单的方法可以做到这一点:

<%- escape(foo).replace(/\n/g, '<br/>') %>


这可以通过从ejs中提取escape方法并分配给res.locals来实现,但我正在寻找更优雅的方法,如果可能的话

您可以使用
以及您已经拥有的替换函数(假设
foo
是一个字符串)


当我不得不在页面中显示git提交消息时,我遇到了类似的问题。我查看了GitLab如何格式化提交消息,发现它们使用了
空白:pre-wrap

因此,在我的.ejs文件中,我使用:

<div style="white-space: pre-wrap"><%= commit.body %></div>


谢谢您的回答,但这不是解决方案,因为它也会对尖括号进行编码,所以输出应该是“%3Cbr/%3E”,而不是“
”@Brankodd-我想我对需要什么不是100%的了解(我根本不知道Jade,所以它不是翻译)。你的
是正确的,我在问题中粘贴的代码是有效的(),我想检查是否有更优雅的解决方案,但看起来它是最好的。
<div style="white-space: pre-wrap"><%= commit.body %></div>