在我的symfony2项目中,我有一些树枝。在其中一个中,我有块标题。
{% block title %}{{ announcement.title }}{% endblock %}
问题是变量{{ announcement.title }}
可以是:<em>test</em>
在这种情况下,我的标题将是<em>test</em>
的,它需要
测试
我已经尝试了{% block title %}{{ announcement.title|raw }}{% endblock %}
但没有任何变化。这只是在块标题中,如果我将原始过滤器放在我的块内容中,那就没问题了。
关于如何做到这一点的任何想法?
编辑:
下面是一个示例:
{% block title %}{{ announcement.title|raw }}{% endblock %}
{% block body_announcements %}{{ announcement.title|raw }}{% endblock %}
在块标题中,我看到<em>test<em>
,在块body_announcements中看到测试是正确的。
您必须
使用 raw
过滤器按原样显示文本和标签:
{% block title %}{{ announcement.title|raw }}{% endblock %}
编辑:striptags
过滤器用于显示不带标签的文本:
{% block title %}{{ announcement.title|striptags }}{% endblock %}
例
树枝代码
{% set str = '<em>test</em>' %}
1: {{ str }}
2: {{ str|raw }}
3: {{ str|striptags }}
结果
1:test
<em></em>
标记被转义。
2:测试
<em></em>
标记由浏览器显示和解释。
3:测试
删除<em></em>
标记,仅显示文本。
您可以这样做来转义HTML
:
{% block title %}{{ announcement.title|e('html') }}{% endblock %}
尝试以下操作...
{% block title %}{{ announcement.title|raw }}{% endblock %}