Я хотел бы экранировать файл, который я включаю
следующий код не будет экранировать теги html в файле "_custom_plugin_script.html.twig". Есть ли другой способ?
<pre>
{% autoescape true %}
{% include "_custom_plugin_script.html.twig" | raw %}
{% endautoescape %}
</pre>
Через пару дней я нашел обходной путь, но не ответ. Итак, первый необработанный код не сбежит, поэтому я должен использовать escape. Однако 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>