有没有办法让 Twig 停止清理 HTML URL 链接?
Is there some way to make Twig stop sanitizing HTML URL links?
Twig 在清理危险的用户输入方面做得很好。但是,我正在构建一个特定的网络应用程序,我希望允许用户在 public 评论中 post 可点击 URL 链接。有什么方法可以让 Twig 不 清理 URL 链接,但仍然清理其他所有内容?
您可以使用 raw
filter 来防止 HTML 被转义:
{{ some_html|raw }}
或者更好的选择是将它与 striptags
filter 和白名单 <a>
标签一起使用:
{{ some_html|striptags('<a>')|raw }}
在内部,Twig 使用 PHP strip_tags
function。请注意,其文档有此警告:
Warning
This function does not modify any attributes on the tags that you allow using allowable_tags
, including the style and onmouseover attributes that a mischievous user may abuse when posting text that will be shown to other users.
Twig 在清理危险的用户输入方面做得很好。但是,我正在构建一个特定的网络应用程序,我希望允许用户在 public 评论中 post 可点击 URL 链接。有什么方法可以让 Twig 不 清理 URL 链接,但仍然清理其他所有内容?
您可以使用 raw
filter 来防止 HTML 被转义:
{{ some_html|raw }}
或者更好的选择是将它与 striptags
filter 和白名单 <a>
标签一起使用:
{{ some_html|striptags('<a>')|raw }}
在内部,Twig 使用 PHP strip_tags
function。请注意,其文档有此警告:
Warning
This function does not modify any attributes on the tags that you allow using
allowable_tags
, including the style and onmouseover attributes that a mischievous user may abuse when posting text that will be shown to other users.