WYSIWYG富文本编辑器Textarea显示错误

时间:2016-08-03 17:54:41

标签: php mysqli wysiwyg str-replace

// Filter Function -------------------------------------------------------------------
function filterFunction ($var) { 
    $var = nl2br(htmlspecialchars($var));
    $var = str_replace("/", "\\\\", $var);
    $var = preg_replace("~/~", "\\\\", $var);

    return $var; 
} 

如果我尝试编辑某些文字,我的CMS存在问题,如果我尝试编辑</h2>,则会在最后给我一些</p>h2

我认为问题出在这里,但如何解决?

1 个答案:

答案 0 :(得分:1)

根据您提供的示例,问题似乎是以下两行:

$var = str_replace("/", "\\\\", $var);
$var = preg_replace("~/~", "\\\\", $var);

第一行表示用双反斜杠替换所有正斜杠。因此</h2>变为<\h2>。第二行也做同样的事情,但由于你执行了两次,</h2>变为<\\h2>

删除这些行将解决您的问题。但如果您故意这样做,也许您可​​以澄清原因,或者您究竟想要实现的目标。也许有更好的方法。