我正在使用带有输入textarea的HTMLPurifier,允许用户放置他们的HTML标记。配置是默认值:
$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$_POST['txt'] = $purifier->purify($_POST['txt']);
我遇到的问题是用户在文本中放置了一些>
,例如:
<p>Some text > other text </p>
这会转换为:
<p>Some text > other text </p>
有没有办法阻止转换?没有忘记:
$_POST['txt'] = str_replace('>','>',$_POST['txt']);
答案 0 :(得分:1)
因为您可能知道>
的{{1}} html特殊字符。浏览器将正确渲染所有内容。
您可以尝试使用htmlspecialchars_decode将所有特殊字符解码为原始值。
答案 1 :(得分:1)
如果未发生此转换,则HTML将无效。如果这就是你想要的,那么可能有一个配置选项。