Simple HTML DOM を使用して、次のような特定の要素を取得しています。
foreach($html->find('img') as $d) {
echo $d->outertext;
}
これにより、すべての画像がエコーされます。たとえば、インデックス (すべての画像に対する相対的な意味) が 3,7,14 および > 15 の画像のみが必要だとします。これほど複雑なことを行う方法はありますか?
Simple HTML DOM を使用して、次のような特定の要素を取得しています。
foreach($html->find('img') as $d) {
echo $d->outertext;
}
これにより、すべての画像がエコーされます。たとえば、インデックス (すべての画像に対する相対的な意味) が 3,7,14 および > 15 の画像のみが必要だとします。これほど複雑なことを行う方法はありますか?
おそらく最も簡単な方法は、すべてのimg
タグを配列に追加することであり、そこからインデックス番号に従ってそれらを抽出できます。
find
配列を返すので、インデックスを使用してください
$imgs =$html->find('img');
$imgs[3];
$imgs[7];
$imgs[14];
for($i=15;$i<count($imgs);$i++){
$imgs[$i];
}
$count
変数とを使用してこれを実現できますin_array()
。ループの前に count 変数を宣言し、必要な ID の配列を宣言します。また、ループ内で if ステートメントを使用して、イメージ ID が配列内にあるか、または15 を超えているかを確認できます。
$count = 1;
$ids = array(3, 7, 14);
foreach($html->find('img') as $d) {
if(in_array($count, $ids) || $count > 15){
echo $d->outertext;
$count++;
}
お役に立てれば!