我碰到一堵墙,试图从纯文本字段将svg图像标记代码呈现为html。
我希望从纯文本字段呈现svg代码,而不会覆盖其他任何地方的纯文本字段呈现。
纯文本格式当前将所有html标记和<>转换为< >
。
我创建了一个字段模板,并尝试将字段内容输出为
{{ item.content.context.value }}
和
{{ item.content|raw }}
两者都将值呈现为用“引号”括起来的每一行的字符串,并将换行符转换为<br/>
标签。
我以前使用的是字段类型格式化的文本,但是<pre>
即使允许所有标签,它也将所有内容包装在标签中。我真的很想让它与纯文本一起使用。
字段必须以文本形式保存的svg代码示例:
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 290 290" enable-background="new 0 0 290 290" xml:space="preserve">
<g>
<path fill="none" stroke="#78C681" stroke-width="3" stroke-miterlimit="10" d="M261.1,273.1H28.9c-6.6,0-12-5.4-12-12V28.9
c0-6.6,5.4-12,12-12h232.1c6.6,0,12,5.4,12,12v232.1C273.1,267.7,267.7,273.1,261.1,273.1z"/>
<circle fill="none" stroke="#1B435D" stroke-width="2" stroke-miterlimit="10" cx="145.2" cy="166.9" r="62.7"/>
<line fill="none" stroke="#78C681" stroke-width="3" stroke-miterlimit="10" x1="16.9" y1="60.8" x2="273.1" y2="60.8"/>
<circle fill="none" stroke="#1B435D" stroke-width="2" stroke-miterlimit="10" cx="178.3" cy="152.3" r="6.8"/>
<path fill="none" stroke="#1B435D" stroke-width="2" stroke-linecap="round" stroke-miterlimit="10" d="M115.1,167.9
c8.8,0,22.3,3.2,28.4,4.7"/>
<path fill="none" stroke="#1B435D" stroke-width="2" stroke-linecap="round" stroke-miterlimit="10" d="M151.9,216.9
c0,0,17.2-1.5,29.6-14.8"/>
</g>
</svg>
希望有人能帮忙。
最好,
阿拉里
|raw
不会转义已经转义的标记。转义发生在Twig的自动逃生之前。