Symfony2:使用Twig的自动性

时间:2013-01-15 15:54:48

标签: symfony twig html-entities

我正在使用Twig显示在我的数据库中检索到的一些变量:

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

事情是这个变量可能包含html标签,例如“<br />”。

Twig似乎在显示变量时会自动调用类似htmlentities的函数。

有没有办法禁用它,以便当我显示包含“Hello<br />world !”的变量时,我得到:

Hello 
world !

而不是:

Hello<br />world !

由于

4 个答案:

答案 0 :(得分:21)

使用{{ my_variable|raw }}阻止my_variable自动转义。

请参阅Twig文档:http://twig.sensiolabs.org/doc/filters/raw.html

答案 1 :(得分:2)

尝试使用此

{% autoescape false %}{{ my_variable}}{% endautoescape %}

答案 2 :(得分:1)

甚至更好:{{ '<br />|raw('html') }}以避免妨碍其他合理的事情。

答案 3 :(得分:0)

如果您只想在数据库中存储的文本中使用换行符,但不小心使用html,则还可以使用{{ var|nl2br }}中的nl2br过滤器。允许您在文本中使用字符串换行符\n。过滤将其转换为<br/>