Node.js EJS-将新行转换为<;br/>;并对内容进行编码
这类似于 那么,在ejs中有没有简单的方法可以做到这一点: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 因此,在我
<%- 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>