所以我使用的是TinyMCE编辑器并使用htmlspecialchars()
来处理文本区域中的内容,这可以正常工作,但我在使用WYSIWYG编辑器的另一边有点困惑...内容输出部分。
我正在使用HTML Purifier输出内容,但据我所知,我刚才这样做:
$purifierConfig = HTMLPurifier_Config::createDefault();
$purifierConfig->set('HTML.Allowed', 'p');
$Purifier = new HTMLPurifier($purifierConfig);
$input = $Purifier->purify($input);
我只测试了p标签,但这是否意味着我将不得不通过TinyMCE使用的所有内容并将其添加到允许的内容中?或者是否有更好的方法来解决这个问题与WYSIWYG编辑器的安全输出?
答案 0 :(得分:1)
是的,您需要设置所需的所有标记,用逗号分隔。您还可以通过括号括起来指定允许的属性:
$purifierConfig = HTMLPurifier_Config::createDefault();
$purifierConfig->set('HTML.Allowed', 'p,a[href],b,i,strong,em');
$Purifier = new HTMLPurifier($purifierConfig);
$input = $Purifier->purify($input);
我想更好理解,printDefinition可以提供帮助。