11

我需要一个像 Jinja "nl2br" 这样的过滤器,但在 Nunjucks 中。在文档中提到(https://mozilla.github.io/nunjucks/templating.html),但我在 nunjucks 代码中搜索了它(https://github.com/mozilla/nunjucks/blob/master/src /filters.js)并且它不存在。

有人知道如何使用等效过滤器或其他解决方案来解决它吗?或者我需要创建过滤器?

4

2 回答 2

5

Nunjucks 具有内置的转义功能。如果你{autoescape: true}在设置 Nunjucks 时设置了,那么你不需要做任何事情。否则,您可以使用escape过滤器。

如果您只想转义换行符,请执行以下操作:

env.addFilter('nl2br', function(str) {
    return str.replace(/\r|\n|\r\n/g, '<br />')
})

并使用新创建的nl2br过滤器。

注意:env是您的 Nunjucks 环境。

于 2016-02-07T23:05:54.090 回答
3

现在nl2brnunjucks 中有一个过滤器(请参阅文档

所以我有一些不安全的文本,但是您仍然希望将新行更改为<br/>标签,您可以将以下示例用于文档

{{ "foo\nbar" | striptags(true) | escape | nl2br }}

这将输出

foo<br />\nbar

并显示为


于 2019-07-03T10:10:32.303 回答