如何在
HtmlPurifier中允许自定义(html5 data- *)属性?
输入:
<img src="/my.jpg" data-type="5" alt="" />
导致错误:
Attribute 'data-type' in element 'img' not supported (for information on implementing this,see the support forums)
HtmlPurifier选项设置为:
'HTML.AllowedAttributes' => array('img.src','a.href','img.data-type')
解决方法
当您尝试使用未在此矩阵中定义的属性时,HTML净化器定义了符合标准的属性矩阵.但是,您可以使用函数HTMLDefinition :: addAttribute()将新属性添加到默认定义中:
$config = HTMLPurifier_Config::createDefault(); $def = $config->getHTMLDefinition(true); $def->addAttribute('img','data-type','Text'); $purifier = new HTMLPurifier($config);
有关详细信息,请参阅HTMLDefinition::addAttribute的定义.这里的“文本”是属性类型,可以从AttrTypes.php找到默认的属性类型