我真的无法让 htmlpurifier 允许标签上的名称属性。我想让 tinyMCE 与锚一起工作。我想不推荐使用 name 属性,应该使用 id,但是 tinyMCE 会产生 name 属性。有没有办法我可以将它们转换为 id="" 或接受它们?
按照文档,我尝试了这个,但它不起作用
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