我正在使用twig并且想要停止特定(并非所有)html标签的自动视图,例如锚标签。有没有办法做到这一点。我的代码有点像这样 {{content | nl2br}} 内容包含锚标签。 由于raw停止所有标签的自动显示,我无法使用它。 任何人都可以为此提出任何解决方案。
答案 0 :(得分:2)
您可以使用内置的striptags过滤器,如下所示:
{{ "this <a>is my</a> <b>html<b> string"|striptags('<a>')|raw }}
<a>
标记将保留,但任何其他标记都将被删除。然后,额外的|原始过滤器将确保不会转义<a>
标记。
注意,如果您的字符串可能包含其他不安全的HTML字符(如&lt;),则仍可能导致输出问题。或者&gt;。如果您的数据被认为是安全的,那么这将是有效的,否则您可能必须构建自己的过滤器,这真的不是那么难。