Я пытаюсь разрешить атрибут rel элементам в фильтре HTML Purifier. Я следую этому руководству http://htmlpurifier.org/docs/enduser-customize.html и вот мой код:
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.Doctype', 'XHTML 1.0 Strict');
$config->set('HTML.DefinitionID', 'enduser-customize.html tutorial');
$config->set('HTML.DefinitionRev', 1);
$config->set('Cache.DefinitionImpl', null); // remove this later!
$def = $config->getHTMLDefinition(true);
$def->addAttribute('a', 'href*', 'URI');
$def->addAttribute('a', 'rel', 'CDATA');
$purifier = new HTMLPurifier($config);
Однако, очиститель HTML все еще отфильтровывает все атрибуты rel ... Я немного запутался, в чем может быть проблема.
Когда я использую:
$config->set('Attr', 'AllowedRel', array('something'));
Я получаю эту ошибку:
Примечание. Использование устаревшего API: вместо строки 191 в файле C:\wamp\www\neonet\application\modules\admin\controllers\IndexController.php
в строке C:\wamp\www\neonet\library\My\htmlpurifier-4.0.0-standalone\HTMLPurifier.standalone.php
в строке 1819
EDIT:
Новый код:
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.Doctype', 'XHTML 1.0 Strict');
$config->set('Attr.AllowedRel', array('something'));
$purifier = new HTMLPurifier($config);
Когда я использую:
<href="/" rel="something">anchor</a>
Атрибут Rel по-прежнему фильтруется.