我不能让htmlpurifier允许锚点(带有name属性的标记)

时间:2012-08-11 00:12:56

标签: tinymce htmlpurifier

我真的无法让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

1 个答案:

答案 0 :(得分:0)

http://htmlpurifier.org/docs/enduser-id.html

(哦,并删除自定义HTML定义和声明。)