使用PHP将HTML插入到div标签中

4
我正在尝试将$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> 

尝试使用 $dom->appendChild($div_tag) - Deepansh Sachdeva
你不能用Ajax做这个吗? - Rotimi
@Akintunde 我该如何使用Ajax实现这个功能? - Kimberley Chong
Akintunde,AJAX与任何事情有什么关系?这是一个PHP问题! - delboy1978uk
2个回答

9
很简单,你需要一个片段!
<?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


很高兴能够帮助! - delboy1978uk

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接