我需要像Jinja“nl2br”这样的过滤器,但是在Nunjucks中。 在文档中提到了(https://mozilla.github.io/nunjucks/templating.html),但是我在nunjucks代码(https://github.com/mozilla/nunjucks/blob/master/src/filters.js)中搜索了它并且它不存在。
有人知道如何使用等效过滤器或其他解决方案来解决它吗?或者我需要创建过滤器?
答案 0 :(得分:3)
Nunjucks已经内置逃脱。如果你在设置Nunjucks时设置{autoescape: true}
,那么你不需要做任何事情。否则,您可以使用escape
过滤器。
如果您只是想逃避换行,请执行以下操作:
env.addFilter('nl2br', function(str) {
return str.replace(/\r|\n|\r\n/g, '<br />')
})
并使用新创建的nl2br
过滤器。
注意:env
是您的Nunjucks环境。
答案 1 :(得分:0)
nunjucks中现在有一个nl2br
过滤器(请参阅documentation)
所以我收到了一些不安全的文本,但是您仍然希望将新行更改为<br/>
标签,您可以将以下示例用于文档
{{ "foo\nbar" | striptags(true) | escape | nl2br }}
将输出
foo<br />\nbar
并显示为
foo
酒吧