1

タグの名前属性を許可するように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
4

1 に答える 1

0

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

(ああ、カスタム HTML 定義と宣言を削除します。)

于 2012-08-11T15:14:19.547 に答える