0

私の 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 タグが段落の前に挿入されます。

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>します。<img>HTML エディターを使用してこのコンテンツを生成していますか?

于 2012-09-21T17:32:51.703 に答える