Фильтры: экранирование и кодирование
Фильтры
escape / e
Экранирует строку для безопасного вывода:
escape / e
{{ user_input|escape }}
{{ user_input|e }}
{{ value|e('html') }}
{{ value|e('html_attr') }}
{{ value|e('js') }}
{{ value|e('css') }}
{{ value|e('url') }}
raw
Отключает экранирование для значения:
raw
{{ trusted_html|raw }}
предупреждение
Используйте raw только для доверенного контента.
raw vs escape
- {{ user_input|raw }}
+ {{ user_input|escape }}
+ {{ trusted_html|raw }}
url_encode
Кодирует строку для использования в URL:
url_encode
{{ 'hello world'|url_encode }}
{# hello%20world #}
{{ {name: 'John', age: 30}|url_encode }}
{# name=John&age=30 #}
json_encode
Кодирует данные в JSON:
json_encode
{{ data|json_encode }}
{{ data|json_encode(constant('JSON_PRETTY_PRINT')) }}
default
Значение по умолчанию, если переменная не определена или пустая:
default
{{ user.name|default('Аноним') }}
{{ title|default('Без названия') }}
{{ items|default([]) }}