// Filter Function -------------------------------------------------------------------
function filterFunction ($var) {
$var = nl2br(htmlspecialchars($var));
$var = str_replace("/", "\\\\", $var);
$var = preg_replace("~/~", "\\\\", $var);
return $var;
}
如果我尝试编辑某些文字,我的CMS存在问题,如果我尝试编辑</h2>
,则会在最后给我一些</p>
和h2
。
我认为问题出在这里,但如何解决?
答案 0 :(得分:1)
根据您提供的示例,问题似乎是以下两行:
$var = str_replace("/", "\\\\", $var);
$var = preg_replace("~/~", "\\\\", $var);
第一行表示用双反斜杠替换所有正斜杠。因此</h2>
变为<\h2>
。第二行也做同样的事情,但由于你执行了两次,</h2>
变为<\\h2>
。
删除这些行将解决您的问题。但如果您故意这样做,也许您可以澄清原因,或者您究竟想要实现的目标。也许有更好的方法。