Синтаксис HTMLPurifier addElement

Я хочу, чтобы пользователи могли использовать тег <vid>Link</vid>, поэтому я добавил "vid" в HTML.AllowedElements в config очистителя, поэтому он бросает мне сообщение об ошибке, указывающее, что он не знает такого тега и указывает мне http://htmlpurifier.org/docs/enduser-customize.html Итак, я попытался использовать следующий код:

$config = $config->getHTMLDefinition(TRUE);
$config->addElement('vid', 'Block', 'Empty', 'Common', array());

Но <vid>Link</vid> лишается. Что я делаю неправильно?

1 ответ

Не используйте "Пусто". Кроме того, ваш код устарел.

<!--?php
include_once 'library/HTMLPurifier.auto.php';
$config = HTMLPurifier_Config::createDefault();
$config--->set('HTML.DefinitionID', 'test');
$config->set('HTML.DefinitionRev', 1);
if ($def = $config->maybeGetRawHTMLDefinition()) {
 $def->addElement('vid', 'Block', 'Inline', 'Common', array());
}
$purifier = new HTMLPurifier($config);
echo $purifier->purify("<vid>Link</vid>\n");

licensed under cc by-sa 3.0 with attribution.