2013-01-15 11 views
11

を使用して自動にhtmlentities私は小枝を使用して、私のデータベースで検索したいくつかの変数を表示しています:Symfony2の:小枝

<p>{{ my_variable }}</p> 

事は、この変数は、このような「<br />」として、htmlタグを含むことがあります。

変数を表示するとき、Twigは自動的にいくつかのhtmlentitiesのような関数を呼び出すようです。

Hello 
world ! 

いうより:私は "Hello<br />world !" を含む変数を表示したときに私が得るように

は、それを無効にする方法はあります

Hello<br />world ! 

おかげ

答えて

20

使用{{ my_variable|raw }}my_variableが自動的にエスケープされないようにします。

参照小枝のドキュメント:さらに良いhttp://twig.sensiolabs.org/doc/filters/raw.html

+0

に変換します。私は必要なものだけをフィルタに渡しませんでした...または、おそらく私はちょうど良い検索をしませんでした;)どうもありがとう(私は10分で受け入れます) – Yoot

+0

うわー、私最近、Symfony2とそのようなもののために恋に落ちました。非常に使いやすい。 – Donovan

1

{{ '<br />|raw('html') }}他の賢明なものをアンエスケープ回避するために。あなただけのあなたも{{ var|nl2br }}のようにnl2brフィルタを使用することができ、データベースに格納されているテキストに改行を使用したいが、HTMLを使用することを気にしない場合は

+0

'html'は' raw'のデフォルト戦略のようです:https://github.com/fabpot/Twig/blob/master/lib/Twig/Extension/Escaper.phpいくつかの文書や例を提供できますか?使用法? – Damien

+0

例えば、 'js'や呼び出し可能なものを渡すこともできます。 – Florian

2

この

{% autoescape false %}{{ my_variable}}{% endautoescape %} 
+0

は、HTMLエンティティを含む変数を手伝ってくれました –

0

を使用してみてください。文字列改行文字\nをテキストに使用できます。フィルタはそれを<br/>