WYSIWYG编辑器转义图像URL

时间:2013-01-22 16:02:56

标签: php ckeditor wysiwyg

我正在使用CKeditor而我无法使用它。当我用它添加图像等创建帖子/文章时,一切正常。然而,在我将文章提交到数据库之后,它会转义url和整体语法,这将导致在我尝试查看时没有显示图像。

这是编辑器中的img语法:

<img alt="logo" src="/images/image.png" style="width: 250px; height: 183px; border-width: 2px; border-style: solid;" />

这是在插入函数运行之后:

<img alt=\"logo\" src=\"/images/image.png\" style=\"width: 200px; height: 147px; border-width: 2px; border-style: solid;\" />

你得到它的要点,它逃脱了所有的必需品,所以它不会破坏HTML。我在这里做了一些搜索,找到了类似html_entity_decode的内容,但没有用。

如何正确“取消”语法,以便图像正确显示?

PS:这是我使用的插入和显示脚本

public function insert () {
    $sql = $this->db->prepare("INSERT INTO Content (Title, Body, category) VALUES (?, ?, ?)");
        $sql->bindParam(1, $_POST['title']);
        $sql->bindParam(2, $_POST['body']);
        $sql->bindParam(3, $_POST['category']);
        $sql->execute();
}

public function display ($id) {
    $sql = $this->db->query("SELECT Body FROM Content WHERE id='$id'");
    while ($row = $sql->fetch()) {
        echo $row;
    }
}

我在显示脚本中尝试html_entity_decode,如$a = html_entity_decode($row['Body']);,然后回显或将行分配给变量然后对其进行解码。也许我做错了,我不确定。

1 个答案:

答案 0 :(得分:0)

在显示功能中添加了stripslashes($ output),如下所示:

public function display ($id) {
    $sql = $this->db->query("SELECT Body FROM Content WHERE id='$id'");
    while ($row = $sql->fetch()) {
        //removes the extra slashes
        echo stripslashes($row); 
    }
}