Simplehtmldom获取第一个元素

胜利者

当我解析一些html并获取html元素数组时,我想获取第一项。这是代码:

    $url  = getLink($good);
    $html = file_get_html($url);

    $offers = array_filter($html->find('div.b-offers'), function($node) {
        return $node->class == 'b-offers'; // If this only class is set
    });

    // $offer    = $offers[0];  // <---- look here
    foreach ($offers as $offer) {
        $price    = $offer->find('span.b-prices__num', 0)->innertext();
        break;
    }

仅当我立即使用foreach和break时,它才有效。但是,为什么$ offer = $ offers [0]不起作用?如果以这种方式编写,这里将出现错误:

$price = $offer->find('span.b-prices__num', 0)->innertext();

就像在非对象上调用find()函数一样。

另一个问题是:在使用array_filter函数获取只有一个“ b-offers”类的元素时,是否可以重写代码?我记得我尝试了一些不同的方法,例如

$html->find('div[class="b-offers"]')

或某种类型,但对我不起作用

开发者0

$offer = $offers[0];不起作用,因为array_filter不返回基于0索引的数组。它保留了前一个数组的键。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

只获取第一个元素的子元素

来自分类Dev

获取空数组的第一个元素

来自分类Dev

从$(this)元素获取tr中的第一个td

来自分类常见问题

获取符合条件的第一个元素

来自分类Dev

获取JsonConvert结果的第一个元素?

来自分类Dev

获取Mongo游标的第一个元素

来自分类Dev

在Powershell中获取第一个元素的属性

来自分类Dev

TreeMap获取第一个元素并删除

来自分类Dev

获取对数组的第一个元素(Swift)

来自分类Dev

如何获取SimpleXML对象的第一个元素?

来自分类Dev

使用RxJava获取GroupedObservable的第一个元素

来自分类Dev

从文件路径获取第一个元素

来自分类Dev

TreeMap获取第一个元素并删除

来自分类Dev

从给定元素的第一个同级获取文本

来自分类Dev

刷卡中的数组获取第一个元素

来自分类Dev

获取与 Eloquent Builder 相关的第一个元素

来自分类Dev

获取第一个匹配的元素,如果没有匹配项,则获取第一个?

来自分类Dev

获取R中连续增加的数字的长度N的第一个序列的第一个元素

来自分类Dev

获取R中连续增加的数字的长度N的第一个序列的第一个元素

来自分类Dev

XPATH的第一个元素

来自分类Dev

XPATH的第一个元素

来自分类Dev

缩进的第一个元素

来自分类Dev

使用SQLAlchemy获取第一个和最后一个元素

来自分类Dev

获取数组中的第一个和最后一个元素

来自分类Dev

如何从CSV列中获取第一个和最后一个元素

来自分类Dev

获取一个基于列表的第一个元素进行乘法或求和的函数

来自分类Dev

给定一个 jQuery,如何获取第一个结果元素?

来自分类Dev

始终采用第一个元素ID。如何重置事件并实际获取元素

来自分类Dev

如何获取不仅是第一个元素的所有元素的数据

Related 相关文章

热门标签

归档