7

HTMLPurifier で「クラス」を許可するにはどうすればよいですか? 私はこれを浄化しようとしています:

 <div class="txt_r" id="test">Blah</div>

そして私は得る:

 <div id="test">Blah</div>

クラスが消えるのはなぜですか?次の構成を使用しています:

 $config->set('Attr.EnableID', true);
 $config->set('CSS.Trusted', true);
 $config->set('HTML.AllowedAttributes', 'style, src, class');
4

1 に答える 1

18

あなたの問題は、おそらくHTML.AllowedAttributes実際にはそのように機能しないことです。:) ドキュメントから:

グローバル属性 (style、id、class、dir、lang、xml:lang) の構文は、「tag.attr」または「*.attr」です。

おそらくあなたが望むのは...

$config->set('HTML.AllowedAttributes', 'img.src,*.style,*.class');

HTML.AllowedAttributesまた、単独で使用するべきではありませんが、以下と組み合わせて使用​​してHTML.AllowedElementsください。

$config->set('HTML.AllowedElements', 'img,div');

または、どちら HTML.AllowedAttributes 使用せず、代わりHTML.AllowedElementsに を使用しますHTML.Allowed。それは次のようになります。

$config->set('HTML.Allowed', 'div, *[style|class], img[src]');
于 2012-08-01T12:00:06.833 に答える