Перейти к основному содержимому

Фильтры: экранирование и кодирование

Фильтры​

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([]) }}