以下不将引号转换为HTML实体
{% for row in files %}
<tr data-id="{{ row.id }}"><td>{{ row.name }}</td></tr>
{% endfor %}
以下 将引号转换为HTML实体
{% for row in files %}
<tr{{ row.id?' data-id="'~row.id~'"' }}><td>{{ row.name }}</td></tr>
{% endfor %}
如何防止在twig三元运算符中将引号转换为HTML实体?
答案 0 :(得分:2)
您应该尝试|raw
过滤器(请查看documentation)。
这是因为通常,twig打印出的所有内容都将被转义以避免跨站点脚本等内容。对于{{ '<b>static value</b>' }}
之类的完全静态值,例外情况不会被转义。
在您的情况下,以下内容应该有效:
{% for row in files %}
<tr{{ (row.id?' data-id="'~row.id~'"')|raw }}><td>{{ row.name }}</td></tr>
{% endfor %}