2013-01-22 141 views
0

我正在使用CKeditor,我無法使用它的圖像。當我用它創建帖子/文章時,添加圖片等等,一切正常。但是,在我將文章提交到數據庫後,它將轉義url和整體語法,當我嘗試查看它時,將不會顯示任何圖像。WYSIWYG編輯器轉義圖片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; 
    } 
} 

我在像$a = html_entity_decode($row['Body']);顯示腳本試圖html_entity_decode,然後該回聲或行分配給一個變量,它然後進行解碼。也許我做錯了,我不確定。

回答

0

新增的stripslashes($輸出)輸出到顯示功能,如下所示:

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); 
    } 
}