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