我想要转义一个文件,我包括
以下代码不会转义文件“_custom_plugin_script.html.twig”中的html标记。还有另一种方式吗?
<pre>
{% autoescape true %}
{% include "_custom_plugin_script.html.twig" | raw %}
{% endautoescape %}
</pre>
几天之后,我找到了一个解决方法,但不是答案。所以第一次生不会逃避因此我应该使用逃生。但是,raw和escape在{%}}中不起作用,但在{{}}中起作用。
所以这里有解决方法
行动的内容
$customPluginScript = $app['twig']->render('_custom_plugin_script.html.twig', array(
'data' => $data,
));
return $app['twig']->render('confirm.html.twig', array(
'data' => $data,
'customPluginScript' => $customPluginScript
));
confirm.html.twig的一部分
<script>
// don't escape content of customPluginScript
{{ customPluginScript | raw }}
</script>
<!-- escape content of customPluginScript -->
<pre>
{{ customPluginScript }}
</pre>
答案 0 :(得分:16)
{% filter escape %}
{% include '...' %}
{% endfilter %}
请参阅details的文档。
答案 1 :(得分:2)
由于这是搜索twig include raw
时出现的第一个结果,值得一提的是,twig现在支持以下语法
{{ source('AcmeSomeBundle:Default:_custom_plugin_script.html.twig') }}
但是,这不会呈现barius所提到的模板。