有没有办法让Twig停止清理HTML URL链接?

时间:2018-02-11 11:41:20

标签: twig sanitization html-sanitizing twig-filter

Twig在清理危险的用户输入方面做得很好。但是,我正在构建一个特定的Web应用程序,我希望允许用户在公共评论中发布可点击的URL链接。有什么方法可以让Twig 清理URL链接,但仍然清理其他所有内容吗?

1 个答案:

答案 0 :(得分:1)

您可以使用raw filter来阻止HTML转义:

{{ some_html|raw }}

或者更好的选择是将其与striptags filter和白名单<a>标签一起使用:

{{ some_html|striptags('<a>')|raw }}

在内部,Twig使用PHP strip_tags function。请注意,其文档有此警告:

  

警告

     

此功能不会修改您使用allowable_tags允许的标记上的任何属性,包括恶作剧用户可能滥用的样式 onmouseover 属性发布将向其他用户显示的文字。

See TwigFiddle.