所见即所得富文本编辑器文本区域显示错误


WYSIWYG Rich Text Editor Textarea show wrong

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

如果我试图编辑一些文本,我的CMS有一个问题,如果我尝试编辑h2,最后会给我一些</h2></p>

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

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

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

第一行说用双后斜线代替所有前斜线。所以</h2>变成<'h2>。第二行做了同样的事情,但由于你做了两次,</h2>变成了<''h2>

删除这些行将解决您的问题。但如果你有意这样做,也许你可以澄清为什么,或者你到底想实现什么。也许还有更好的方法。