サイトからhtmlを取得するためにsimplehtmldomを使用しています。次に、ページ上のすべての div を検索し、単語数が 300 を超える内部テキストを表示します。これを行うには、foreach を繰り返します。
$findDivs = $html->find('div');
foreach($findDivs as $findDiv) {
$wordCount = explode(' ', $findDiv->outertext);
$wordCount = count($wordCount);
if($wordCount <= 300) {
$findDiv->outertext = '';
}
else {
echo $findDiv->outertext . '<br />';
}
}
私が抱えている問題は、結果が6回複製されることです。これは、反復ごとにすべての div がループされているためだとしか思えません。ただし、各 div が 1 回だけ評価されるようにするためにどのような手法を使用できるかはわかりません。