原始或逃脱包括在树枝

时间:2012-03-09 10:28:40

标签: php symfony twig

我想要转义一个文件,我包括

以下代码不会转义文件“_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>

2 个答案:

答案 0 :(得分:16)

{% filter escape %}
    {% include '...' %}
{% endfilter %}

请参阅details的文档。

答案 1 :(得分:2)

由于这是搜索twig include raw时出现的第一个结果,值得一提的是,twig现在支持以下语法

{{ source('AcmeSomeBundle:Default:_custom_plugin_script.html.twig') }}

但是,这不会呈现barius所提到的模板。