问题描述(我尝试简化。):我将标签定义为名称“ 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>
有没有办法做到这一点?