0

在我的网站上,我有一些图像与其他内容存储在同一个 SQL 单元中。当我加载包含图像的页面并且 PHP 回显“文章”单元格时,图像会自动包含在段落标签中,这不是我想要的。有什么办法可以防止这种情况发生吗?我不确定它是浏览器端还是服务器端问题,但它出现在 botch 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-tag 将图像括起来时,会在段落之前插入一个多余的空 p-tag。

4

2 回答 2

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>';
于 2012-09-21T17:37:47.760 回答
0

许多流行的 html 编辑器(例如 CKEditor)默认添加<p>around<img>标记。您是否使用 html 编辑器生成此内容?

于 2012-09-21T17:32:51.703 回答