添加一个新属性到htmlpurifier白名单


Adding a new attribute to HtmlPurifiers whitelist?

我想添加一个新的允许的attribute到htmlpurifier 白名单,不重新定义整个白名单,只是在某个标签上添加一个新的允许的。

这是我当前的配置数组:

'posts' => [
    'HTML.SafeIframe' => true,
    'URI.SafeIframeRegexp' => '%^https://www.youtube.com/embed/%',
    'HTML.Nofollow' => true,            
],

根据我所读到的,你应该使用HTML.AllowedAttributes配置选项,你可以这样做:

'posts' => [
    //...
    'HTML.AllowedAttributes' => ['blockquote.data-author']
],

我认为这将允许blockquote 's现在能够有一个data-author属性?

然而,我想知道什么类型的 htmlpurifier将允许属性有?它在默认情况下是否对它施加了任何限制?

我在下的最终用户文档中阅读了关于允许的值添加属性部分,它指出您可以控制使用addAttribute方法时允许的属性值,但是我不确定如何在调用HTMLPurifier_Config::create()时传递配置数组时复制该值?

如何做到这一点?

创建配置对象,然后在其上调用getHTMLDefinition,然后按照自定义中的说明执行。