2016-02-05 28 views
7

私はJinja "nl2br"のようなフィルタが必要ですが、Nunjucksではフィルタが必要です。 文書には、言及(https://mozilla.github.io/nunjucks/templating.html)がありますが、nunjucksコード(https://github.com/mozilla/nunjucks/blob/master/src/filters.js)で検索しましたが、存在しません。Nunjucks nl2brは存在しませんか?

誰かが同等のフィルタまたは別のソリューションで解決する方法を知っていますか?またはフィルタを作成する必要がありますか?

答えて

3

Nunjucksにはエスケープが組み込まれています。 Nunjucksを設定するときに{autoescape: true}を設定すると、何もする必要はありません。それ以外の場合は、escapeフィルタを使用できます。

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

をし、新しく作成されたnl2brフィルタを使用します。あなただけの改行をエスケープしたい場合

、その後、これを行います。

注:envはあなたのNunjucks環境です。

+0

私はすでにautoscapeをtrueのように設定していましたが、動作しませんでした。エスケープフィルターのみが機能しません。私の解決策は、フィルタを作成し、そのようなセーフで使用することでした:{{description | nl2br | safe}} –

関連する問題