gpt4 book ai didi

PHP 从 MySQL 回显 HTML 作为同级而不是子级插入

转载 作者:行者123 更新时间:2023-11-29 07:37:16 25 4
gpt4 key购买 nike

我有一个 PHP 页面,它从 MySQL 表中提取数据。一个字段(内容)包含要填充在页面上的 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 数据:

  • 标题:启动页面 2
  • 内容:<p>dfajdfn<strong>akdjfnas</strong></p>

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

最佳答案

这是预料之中的,您正在插入 <p>在另一个里面<p> 。您可以嵌套段落,并且在段落内开始新段落将终止前一个段落。例如

<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>
^^^

关于PHP 从 MySQL 回显 HTML 作为同级而不是子级插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30328467/

25 4 0