用{p> </p>括起<img/>

时间:2012-09-21 17:28:13

标签: php html css

在我的网站上,我有一些图像存储在与其他内容相同的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。

2 个答案:

答案 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编辑器生成此内容?