我试图将$ htmlString放入我现有的div标签
<?php
$htmlString = "<ul><li>some items</li><li>some items</li><li>some items</li></ul>";
$dom = new domDocument;
$dom->loadHTML($html);
$div_tag = $dom->getElementById('demo');
echo $dom->saveHTML($div_tag);
?>
在div标签中,我已经有了一些内容,我想将$ htmlString附加到div标签
<div id="demo"><h1>Recent Posts</h1></div>
我希望输出为
<div id="demo"><h1>Recent Posts</h1>
<ul><li>some items</li><li>some items</li><li>some items</li></ul>
</div>
因为$ htmlString实际上是从另一个函数产生的所以我不能简单地做
<div id="demo">
<h1>Recent Posts</h1>
<?php echo "<ul><li>some items</li><li>some items</li><li>some items</li></ul>" ?>
</div>
答案 0 :(得分:5)
很好,很简单,你需要一个片段!
<?php
$html = '<div id="demo"><h1>Recent Posts</h1></div>';
$dom = new DomDocument();
$dom->loadHTML($html);
$node = $dom->getElementsByTagName('div')->item(0); // your div to append to
$fragment = $dom->createDocumentFragment();
$fragment->appendXML('<ul><li>some items</li><li>some items</li><li>some items</li></ul>');
$node->appendChild($fragment);
echo $dom->saveHTML();
这将为您提供所需的输出。请在此处查看https://3v4l.org/JrJan
答案 1 :(得分:0)
您可以使用[http://php.net/manual/en/domdocument.createelement.php][1]
[1]:http://php.net/manual/en/domdocument.createelement.php,但您需要为$ htmlString创建所有结构。或者你可以在这个答案How to insert HTML to PHP DOMNode?
中做到