raw или экранирование при включении в ветку

Я хотел бы экранировать файл, который я включаю

следующий код не будет экранировать теги 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>
8
задан clami219 20 July 2017 в 20:28
поделиться