我正在使用简单的 HTML DOM 来获取这样的某个元素:
foreach($html->find('img') as $d) {
echo $d->outertext;
}
这将回显所有图像。假设我只需要索引(相对于所有图像)编号为 3、7、14 和 > 15 的图像。有没有办法做这么复杂的事情?
我正在使用简单的 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++;
}
希望这可以帮助!