PHP回显来自MySQL的HTML插入为兄弟姐妹而不是孩子

时间:2015-05-19 14:25:53

标签: php html mysql dom

我有一个从MySQL表中提取数据的PHP页面。一个字段(内容)包含要在页面上填充的HTML。当尝试在段落标记内插入记录时,结果以段落标记开头和结尾,但不能正确插入子元素,而是作为兄弟插入。谁能在这里看到这个问题?

HTML / PHP

<?php
foreach ($pages as $page) {
?>
                <div class="slide" id="about-content">
                    <h1 class="pic-title"><?=$page->title;?></h1>
                    <p class="pic-caption overlay">
                        <?=$page->content;?>
                    </p>
                </div>
<?php
}
?>

输出HTML:

<div class="fp-tableCell" style="height:419px;">
   <h1 class="pic-title" style="margin-left: 25px;">Splash Page 2</h1>
   <p class="pic-caption overlay" style="display: block;">
   </p>
   <p>dfajdfn<strong>akdjfnas</strong></p>
   <p></p>
</div>

MySQL数据:

  • 标题:Splash Page 2
  • 内容:<p>dfajdfn<strong>akdjfnas</strong></p>

我似乎无法追踪这一个。谢谢!

1 个答案:

答案 0 :(得分:2)

这是预期的,您在另一个<p>内插入<p>。您可以嵌套段落,并且在段落内部开始新段落将终止先前的段落。 e.g。

<p>foo
<p>bar
<p>baz

将在内部生成

<p>foo</p>
<p>bar</p>
<p>baz</p>

在DOM树中。

您应该转而使用<div>代替:

<div class="pic-caption overlay">
 ^^^---
    <?=$page->content;?>
</div>
  ^^^