Я избегаю символов, используя фильтр Twig для выключения e
в <meta>
в случае, если они содержат цитаты, которые разбивают тег. Проблема в том, что она ускользает от символа &
. Мне интересно, есть ли способ не скрывать и подписывать?
<meta property="description" content="{{ description | e }}" />
вы всегда можете просто использовать замену как исправление хака;)
description|e|replace({'\&':'&'})
Не уверен, что это будет работать в вашем случае, но, вообще говоря, экранирование атрибутов html должно выполняться путем явного определения этого контекста: ...|e('html_attr')
, ср. документы фильтра фильтрации .
Вы должны использовать режим html_attr
escape, потому что вы вставляете результат в атрибут content
.
<meta property="description" content="{{ description | e('html_attr') }}" />