autoescape
Включена или выключена автоматическая экранизация, вы можете пометить часть шаблона для экранирования или его отсутствия с помощью тега autoescape.
{% autoescape %}
Everything will be automatically escaped in this block
using the HTML strategy
{% endautoescape %}
{% autoescape 'html' %}
Everything will be automatically escaped in this block
using the HTML strategy
{% endautoescape %}
{% autoescape 'js' %}
Everything will be automatically escaped in this block
using the js escaping strategy
{% endautoescape %}
{% autoescape false %}
Everything will be outputted as is in this block
{% endautoescape %}
При включённой автоматической экранизации всё по умолчанию экранируется, за исключением значений, явно помеченных как безопасные. Их можно пометить в шаблоне, используя фильтр raw:
{% autoescape %}
{{ safe_value|raw }}
{% endautoescape %}
Функции, возвращающие данные шаблона (например, макросы и родитель), всегда возвращают безопасную разметку.
Примечание
Twig достаточно умен, чтобы не экранировать значение, уже экранированное фильтром escape.
Примечание
Twig не экранирует статические выражения:
{% set hello = "<strong>Hello</strong>" %}
{{ hello }}
{{ "<strong>world</strong>" }}
Будет отображено «<strong>Hello</strong> world».
Примечание
В главе Twig для разработчиков содержится более подробная информация о том, когда и как применяется автоматическая экранизация.
© 2009–2018 by the Twig Team
Licensed under the three clause BSD license.
The Twig logo is © 2010–2020 Symfony
https://twig.symfony.com/doc/2.x/tags/autoescape.html