如何使用 simpledom find foreach php 数组创建新元素

How to foreach php array to create new element with simpledom find

我正在尝试将 html 页面中的 'richtext' 元素替换为我具有 [simpledom html]:(https://simplehtmldom.sourceforge.io/manual.htm)[=15 的内容(摘要) =]

一个数组变量 'summary' 具有 ["sentences"]=> sentence1 和 sentence2 等等

我试过了

  foreach ($summary->sentences as $sentence) {

        $outhtml->find('div[class=richtext]',index)->outertext='<p>'.$sentence.'</p>';
index++;

    }


这会将数组中的最后一个元素保存到 html


  foreach ($summary->sentences as $sentence) {

        $outhtml->find('div[class=richtext]',0)->outertext='<p>'.$sentence.'</p>';

    }

预期结果

<div class='richtext'>
<p>sentence 1</p>
<p>sentence 2</p>
<p>sentence 3</p>
</div>

您可以使用 implode() 构建内容,然后从中设置内部文本...

,而不是使用循环(可以轻松覆盖之前的文本)
$html->find('div[class=richtext]',0)->innertext = "<p>".
             implode("</p><p>", $summary->sentences).
             "</p>";