我真的无法让htmlpurifier在标签上允许名称属性。我想允许tinyMCE与锚点一起运行。我想不推荐使用name属性,应该使用id,但tinyMCE会生成名称属性。有什么方法我可以将它们转换为id =“”或接受它们吗?
关注docs我试试这个,但它不起作用
require_once( 'HTMLPurifier.standalone.php' );
$config = HTMLPurifier_Config::createDefault();
$config->set( 'HTML.Doctype' , 'XHTML 1.0 Transitional' );
$config->set( 'Cache.DefinitionImpl', null ); // remove this later!
$config->set( 'Core.CollectErrors' , true );
$def = $config->getHTMLDefinition( true );
$def->addAttribute( 'a', 'name' , 'ID' );
// $def->addAttribute( 'a', 'name' , 'CDATA' ); // does not work either
// $def->addAttribute( 'a', 'name' , 'Text' ); // does not work either
$purifier = new HTMLPurifier( $config );
$purifier->purify( '<a name="test"></a>' );
echo $purifier->context->get( 'ErrorCollector' )->getHTMLFormatted( $config );
// output:
// Error Line 1, Column 0: name attribute on <a> removed