Застрял на полпути через мой маленький процесс, нужна помощь с этим последним шагом.
Необходимо добавить пользовательский элемент, чтобы принять пользовательский book
элемент, который будет передан через форму textarea.
$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, например:
`$config->set('HTML.Allowed', 'book[author]');`
возвращает ошибку:
Attribute 'author' in element 'book' not supported
Мне нужно, чтобы author="me"
может быть включен или не включен.
Может кто-нибудь, пожалуйста, поделитесь кодом изменения / дополнения мне нужно, чтобы получить author="me"
быть разрешенным — спасибо!
Я использую htmlpurifier 4.6.0
Вы пытались использовать $def->addAttribute('book', 'author', 'CDATA');
после вашего $def->addElement(...)
вызов?
Других решений пока нет …