autoescapeIndependientemente de si el escape automático está habilitado o no, puedes marcar una sección de una plantilla para que sea escapada o no usando la etiqueta 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 %}
Cuando el escape automático está habilitado, todo se escapa por defecto excepto los valores marcados explícitamente como seguros. Estos pueden marcarse en la plantilla usando el filtro raw:
{% autoescape %}
{{ safe_value|raw }}
{% endautoescape %}
Las funciones que devuelven datos de plantilla (como macros y parent) siempre devuelven marcado seguro.
Note
Twig es lo suficientemente inteligente como para no escapar un valor ya escapado por el filtro escape cuando la estrategia de escape automático es la misma que la aplicada por el filtro escape.
Note
Twig no escapa expresiones estáticas:
{% set hello = "<strong>Hello</strong>" %}
{{ hello }}
{{ "<strong>world</strong>" }}
Se renderizará como "<strong>Hello</strong> world".
Note
El capítulo Twig for Developers proporciona más información sobre cuándo y cómo se aplica el escape automático.