Как использовать массив php для создания нового элемента с помощью findled - PullRequest
1 голос
/ 27 июня 2019

Я пытаюсь заменить элемент 'richtext' на html-странице содержимым (резюме), которое я имею на [simpledom html]: (https://simplehtmldom.sourceforge.io/manual.htm)

переменная массива 'summary' с ["предложения"] => предложение1 и предложение2 и т. Д.

Я пытался

  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>

1 Ответ

1 голос
/ 27 июня 2019

Вместо того, чтобы использовать цикл (который может легко перезаписать предыдущий текст), вы можете использовать implode() для создания содержимого и затем установить внутренний текст из этого ...

$html->find('div[class=richtext]',0)->innertext = "<p>".
             implode("</p><p>", $summary->sentences).
             "</p>";
...