使用htmlpurifier将自定义属性允许到元素

时间:2015-01-22 11:14:51

标签: php htmlpurifier

在我的小程序中途陷入困境,需要最后一步的帮助。

需要添加自定义元素以接受将通过textarea表单传递的自定义book元素。

$dirty = 'you should check this out: <book author="me">my book title</book>!';

$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.Allowed', 'book');
$def = $config->getHTMLDefinition(true);
$def->addElement('book',  'Inline', 'Inline', 'Common');
$purifier = new HTMLPurifier($config);
echo $purifier->purify($dirty);

返回: you should check this out: <book>my book title</book>!

但它正在剥离author="me"

如果我添加标准htmlpurifier attr allowance,例如:

`$config->set('HTML.Allowed', 'book[author]');`

它返回错误: Attribute 'author' in element 'book' not supported

我需要它,以便可以包含或不包括author="me"

有人可以分享代码更改/添加我需要允许author="me" - 谢谢!

我正在运行htmlpurifier 4.6.0

1 个答案:

答案 0 :(得分:2)

您在$def->addAttribute('book', 'author', 'CDATA');来电后尝试使用$def->addElement(...)吗?