私の Web サイトには、残りのコンテンツと同じ SQL セルに保存されている画像がいくつかあります。画像を含むページを読み込み、PHP が「記事」セルをエコーすると、画像が自動的に段落タグで囲まれますが、これは私が望んでいるものではありません。これを防ぐ方法はありますか?ブラウザ側の問題なのかサーバー側の問題なのか正確にはわかりませんが、Chrome と FF の両方に表示されます。
SQL セル「記事」:
<img src="http://www.nasa.gov/images/content/297522main_image_1244_946-710.jpg"><p>Lorem ipsum</p>
PHP コード:
if ($pageType == 'article') {
if($pageExists==1) {
try {
$db = new PDO('pdoinfo');
} catch(PDOException $e) {echo $e->getMessage();}
$sql = $db->query("SELECT * FROM articles WHERE id=$pageName");
$result = $sql->fetchAll(PDO::FETCH_OBJ);
echo ('<div class="article"><h3>');
echo $result[0]->title;
echo('</h3><p>');
echo $result[0]->article;
echo('<span class="article-data">Geplaatst op <span class="article-date">');
echo date('d-m-Y', strtotime($result[0]->postdate));
echo ('</span> door <span class="article-author">');
echo $result[0]->author;
echo ('</span><span class="article-broadcast"><span class="st_twitter_hcount" displayText="Tweet"></span><span class="st_facebook_hcount" displayText="Facebook"></span>');
echo ('</span></span></div>');
}
else {
include('pages/404.php');
}
}
出力 HTML:
[...]<p><img src="http://www.nasa.gov/images/content/297522main_image_1244_946-710.jpg"><p>Lorem ipsum</p>[...]
すべてを自分でコーディングするだけなので、CMS は関係ありません。画像を自分で p タグで囲むと、冗長な空の p タグが段落の前に挿入されます。