在我的网站上,我有一些图像存储在与其他内容相同的SQL单元格中。当我加载包含图像的页面并且PHP回显“文章”单元格时,图像会自动包含在段落标记中,这不是我想要的。有什么方法可以防止这种情况吗?我不确定它是浏览器端还是服务器端问题,但它出现在botch Chrome和FF中。
SQL-cell'artment':
<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-tags附上图像时,会在段落之前插入一个冗余的空p-tag。
答案 0 :(得分:2)
这条线<p>
上的开场echo('</h3><p>');
从未关闭,所以我怀疑你看到了。
也没有必要所有的回声
echo '
<div class="article">
<h3>'.$result[0]->title.'</h3>
'.$result[0]->article.'
<span class="article-data">
Geplaatst op <span class="article-date">'.date('d-m-Y', strtotime($result[0]->postdate)).'</span> door
<span class="article-author">'.$result[0]->author.'</span>
<span class="article-broadcast">
<span class="st_twitter_hcount" displayText="Tweet"></span>
<span class="st_facebook_hcount" displayText="Facebook"></span>
</span>
</span>
</div>';
答案 1 :(得分:0)
默认情况下,许多流行的html编辑器(例如CKEditor)会在<p>
标记周围添加<img>
。您是否使用html编辑器生成此内容?