在我的网站上,我有一些图像与其余内容存储在同一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标签。
最佳答案
您在此行<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>';
关于php - 用<p>包围<img>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12535291/