使用PHP将HTML插入div标签

时间:2017-09-07 11:06:25

标签: php html

我试图将$ 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> 

2 个答案:

答案 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?

中做到