Mako テンプレートでいくつかの UGC ( ) を出力するとき、mako フィルタ 'h' を使用してコンテンツをサニタイズし、改行の代わりにいくつかのタグを$user.text
追加して、少し書式設定を行いたいと思います。<br>
しかし、mako は「h」フィルタを適用した順序を無視しているようで、<br>
タグはエスケープされてレンダリングされません。
これは私のBR追加フィルターです:
<%
def nl2br(str):
return str.replace("\n", "<br/>")
%>
これは私のテスト文字列です:
hello,
My name is
James
次のフィルタ付き mako タグ:
${user.text | n,h,nl2br}
${user.text | n,nl2br,h}
<br>
...タグがエスケープされた同じ html を生成します。
hello,
<br/>
<br/>My name is
<br/>
<br/>James
<br>
タグがエスケープせずに通過できるようにする唯一の方法は、次のように「h」フィルターを完全に削除することです。
${user.text | n,nl2br}
しかし、これはフィールドをサニタイズするという目的を無効にしuser.text
ます。
<br>
「h」フィルタを起動してタグを追加するにはどうすればよいですか?
バッファーで何か不足していますか?