You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PHP Simple Dom Parser获取指定类SPAN标签值遇问题

解决获取SPAN元素值的问题

看起来你遇到的问题是因为file_get_html返回的DOM元素对象不能直接输出,得先提取它的文本内容才行,我来帮你理清楚:

首先,$url->find('span[class=time-value js-minutes]')这个方法返回的是匹配到的元素数组,不是单个文本值。直接echo或者打印这个数组,就会出现异常内容(比如对象的字符串表示)。

修正后的代码示例

function vakantieVeilingHuidigeTijd($url){ 
    // 获取HTML文档对象
    $html = file_get_html($url); 
    // 找到第一个匹配的span元素(第二个参数0表示取第一个结果)
    $tijdElement = $html->find('span.time-value.js-minutes', 0); 
    
    // 先检查是否找到元素,避免报错
    if($tijdElement){
        // 提取元素的纯文本内容
        $huidigeTijdMinuut = $tijdElement->plaintext;
        echo "Minuten te gaan : " . $huidigeTijdMinuut . "<br>"; 
        return $huidigeTijdMinuut;
    } else {
        echo "Geen tijd-element gevonden!";
        return null;
    }
}

关键说明

  • 用find方法的第二个参数指定索引(比如0),可以直接获取单个匹配元素,而不是数组。
  • 要获取元素里的文本,必须用->plaintext(纯文本,去掉HTML标签)或者->innertext(包含内部HTML标签),根据你的需求选择。
  • 一定要加判断:如果页面结构变化或者元素不存在,$tijdElement会是null,提前判断可以避免后续代码报错。

如果还是有问题,可以先var_dump($html)确认是否成功获取了页面内容,或者var_dump($tijdElement)看看是否真的匹配到了元素。

内容的提问来源于stack exchange,提问作者xNoncombat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:32:59