我正在使用带有tinyMCE的HTML净化器。我使用$_POST['content'];
获取放在文本区域中的内容。之后我使用以下代码
require_once 'htmlpurifier/library/HTMLPurifier.auto.php';
$content = $_POST['content'];
$purifier = new HTMLPurifier();
$pure_content = $purifier->purify($content);
然而,当我回显$ pure_content时,我得到了我输入的代码而没有任何变化。为了确保HTMLpurifier没有问题,我使用了以下代码片段
$value = '<script>Malicious script</script><b>Bold</b>';
$pure_content = $purifier->purify($value);
在回声后我得到 Bold 那么我在这里做错了什么?
修改
$ _POST [&#39;内容&#39;]内的值为<script>Malicious script</script><b>Bold</b>
答案 0 :(得分:1)
我使用的是tinyMCE编辑器。问题是它会自动编码输入的所有html代码(如果有的话)。我不得不使用
$decoded_content = html_entity_decode($content);
然后将结果传递给html净化器。