BBCode 结束标签会杀死 PHP mysqli 查询



老实说,我不知道发生了什么。

它工作正常,直到我将结束标签放在 BBCode 标签上。

所以这将正常工作:

$article = <<<EOF
<article>
<code>
[b]$title
</code>
</article>
EOF;

虽然这会杀死整个代码并且不会打印任何结果:

$article = <<<EOF
<article>
<code>
[b]$title[/b]
</code>
</article>
EOF;

我通过将完全相同的代码放入普通的旧 HTML 中进行了仔细检查,它会很好地显示代码。我也尝试了 [/b]$title 并且有效,我只是不能有开始和结束标签。

以下是其余的编码:

require ("db_connect.php");
$residential = mysqli_query($db_connect,"SELECT * FROM residential ORDER BY id");
while ($row = mysqli_fetch_array ($residential)) {
include "results.php";
$title = "$row['title']";
echo $article;
}

尝试使用不同的字符串类型和循环顺序,看看它是否有效:

结果.php

$article = "
<article>
<code>
[b]{$title}[/b]
</code>
</article>";

$article = "
<article>
<code>
[b]".$title."[/b]
</code>
</article>";

ob_start();
?>
<article>
<code>
[b]<?php echo $title ?>[/b]
</code>
</article>
<?php
$article = ob_get_contents();
ob_end_clean();

然后在循环中:

while ($row = mysqli_fetch_array($residential)) {
$title = $row['title'];
include('results.php');
echo $article;
}

或者不要在循环中包含该页面:

while ($row = mysqli_fetch_array($residential)) {
$title = $row['title'];
echo "
<article>
<code>
[b]".$title."[/b]
</code>
</article>";
}

最新更新