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']);
から、それをエコーするか、行を変数に割り当ててからデコードしました。たぶん私はそれを間違っていました、私にはわかりません。