所以我需要使用php动态添加html内容,这不是棘手的部分,但我试图将HTML放入文档中与PHP运行位置不同的位置。所以例如:
<div id="firstDiv">
<?php
echo "<div id='"firstDivA'"></div>";
echo "<div id='"secondDivA'"></div>";
?>
</div>
<div id="secondDiv">
</div>
但是我希望能够使用在"firstDiv"中执行的PHP将一些HTML放在"secondDiv"中。最终结果应该是:
<div id="firstDiv">
<div id="firstDivA"></div>
</div>
<div id="secondDiv">
<div id="secondDivA"></div>
</div>
但我不知道该怎么做。我读过 PHP 5 中的一些 DOM 内容,但我找不到任何关于修改当前文档的内容。
您可以在HTML中的任何位置打开/关闭PHP的"块"
<div id="firstDiv">
<?php echo '<div id="firstDivA"></div>'; ?>
</div>
<div id="secondDiv">
<?php echo '<div id="secondDivA"></div>'; ?>
</div>
如有必要,您还可以使用 ob_start() 和 ob_get_clean() 捕获输出:
<?php
$separator = "'n";
ob_start();
echo '<div id="firstDivA"></div>' . $separator;
echo '<div id="secondDivA"></div>' . $separator;
$content = ob_get_clean();
$sections = explode($separator, $content);
?>
<div id="firstDiv">
<?php echo $sections[0]; ?>
</div>
<div id="secondDiv">
<?php echo $sections[1]; ?>
</div>
为什么不将相关代码移动到正确的位置?
<div id="firstDiv">
<?php
echo "<div id='"firstDivA'"></div>";
?>
</div>
<div id="secondDiv">
<?php
echo "<div id='"secondDivA'"></div>";
?>
</div>
.php
文件是连续的,因此如果您有两个单独的<?php ?>
标签,它们将能够共享相同的变量。
<div id="firstDiv">
<?php
echo "<div id='"firstDivA'"></div>";
$div2 = "<div id='"secondDivA'"></div>";
?>
</div>
<div id="secondDiv">
<?php echo $div2 ?>
</div>
这将产生所需的效果。(演示变量的使用)
我不确定你在问什么。也许只是在第二个div中添加一个回声语句。
<div id="firstDiv">
<?php echo "<div id='"firstDivA'"></div>"; ?>
</div>
<div id="secondDiv">
<?php echo "<div id='"secondDivA'"></div>"; ?>
</div>
或者你的意思是你想在 PHP 之后进行 DIV 更改?试试jQuery!或者你的意思是你想在 PHP 完成之前进行 DIV 更改?也许phpQuery对你有好处。
如果你想使用XML-data(阅读XHTML),你宁愿使用适当的XML处理器。
DomCrawler非常适合与DOM合作。它适用于本机 DOM 扩展,因此快速且广泛使用。
以下是文档中有关如何添加内容的示例:
$crawler = new Crawler();
$crawler->addHtmlContent('<html><div class="foo"></div></html>');
$crawler->filter('div')->attr('class') // returns foo