escape - Twig Filter
Contao overrides Twig’s default escape
filter in order to
support ChunkedText
from insert tags and to employ its own escaper strategies.
Double Encoding Prevention
As mention in other sections, Contao uses input encoding by default which would then lead to double encoded output when
rendering content in Twig. Contao overrides this behavior for templates within the @Contao
and @Contao_*
namespaces.
{# Outputs > i.e. without double encoding #}
{{ '>'|e }}
Info
This feature is available in Contao 5.3.19 and later.
However, you can opt into double encoding by passing double_encode = true
to the escape filter, which is necessary if
you have HTML code nested in another language.
{# Outputs > i.e. with double encoding #}
{{ '>'|e('html', doubl_encode = true) }}
You can find more information in the double encoding section of the Twig architecture article.
ChunkedText
Support
Some insert tags might return a ChunkedText
instance. The ChunkedText
container was created to keep the surrounding
text containing the insert tags separate from the replacements made by the insert tag parser. For example
{{ text|insert_tag_raw|escape('html') }}
only escapes the parts that do not come from the replaced insert tags.