【发布时间】:2023-04-01 09:05:01
【问题描述】:
我无法让 HTMLPurifier 识别 <label> 标签。
跑步
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.Allowed', 'label');
$purifier = new HTMLPurifier($config);
echo $purifier->purify("<label>Link</label>");
抛出Warning: Element 'label' is not supported (for information on implementing this, see the support forums)。
使用 addElement() 也没有运气
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.DefinitionID', 'test');
$config->set('HTML.DefinitionRev', 1);
if ($def = $config->maybeGetRawHTMLDefinition()) {
$def->addElement('label', 'Block', 'Inline', 'Common', array());
}
$purifier = new HTMLPurifier($config);
echo $purifier->purify("<label>Link</label>");
仍然只返回Link,我期望<label>Link</label>。有什么想法吗?
更新:使用$config->set('HTML.Trusted', true); 会有所不同,但它会禁用 XSS 保护。不适合我。
【问题讨论】:
标签: php htmlpurifier