目前我在HTMLPurifier中使用此代码来允许data-*HTML标记属性:
$def = $config->getHTMLDefinition(true);
$def->addAttribute('div', 'data-aaa', 'Text');
$def->addAttribute('div', 'data-bbb', 'Text');
// ...
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以同时允许所有data-*属性,最好是在所有HTML标签上?(在我的情况下,它们不是安全问题 - 当然,据我所知)
它不是一个完整的解决方案,但我能够data-使用以下代码全局地列出单个属性,允许将它们放在任何元素上,而不必逐条列出每个属性的每个元素类型.
$def = $config->getHTMLDefinition(true);
$def->info_global_attr['data-aaa-xxx'] = new HTMLPurifier_AttrDef_Text;
$def->info_global_attr['data-bbb-yyy'] = new HTMLPurifier_AttrDef_Text;
$def->info_global_attr['data-ccc-zzz'] = new HTMLPurifier_AttrDef_Text;
Run Code Online (Sandbox Code Playgroud)