Описание проблемы (я попытался упростить.): Я определил тег как имя «tag1», я хочу ограничение только для «tag1», для других тегов нет ограничений.«tag1» может иметь только «sub» тег, и другие теги должны быть удалены из него.Но HtmlPurifier принимает его на сторону tag1 как брата.
$dirty_html = '<tag1><sub>text</sub><em>text</em></tag1>';
$config = HTMLPurifier_Config::createDefault();
$def = $config->getHTMLDefinition(true);
$def->addElement("tag1", 'Block', 'Optional: sub', 'Common', array());
$purifier = new HTMLPurifier($config);
$clean_html = $purifier->purify($dirty_html);
var_dump(htmlentities($clean_html));
//Output <tag1><sub>text</sub></tag1><em>text</em>
//Desired <tag1><sub>text</sub></tag1>
Есть ли способ сделать это?