我在允许某些 HTML 属性进入 HTMLPurifier 的白名单时遇到问题。
这是我的代码:
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.Allowed', 'u,p,b,i,span[style],strike,s,strong,em,li,ul,ol,div[align],br,img[src|alt|width|height],sub,sup');
$purifier = new HTMLPurifier($config);
当我运行时:$clean_str = $purifier->purify($dirty_str);
在这个:<div align="left">Left</div>
我得到这个:<div>left</div>
。
如果我删除:div[align]
从HTML.Allowed
我得到这个:Left
- 所以我知道它HTML.Allowed
适用于元素,但不适用于属性。
我确定我在做一些愚蠢的事情,但我终生无法弄清楚!
提前感谢您的帮助。
将 htmlpurifier-4.4.0-lite 与 PHP 5.3.14 一起使用