【问题标题】:Get class attribute using SimpleHTMLDOM使用 SimpleHTMLDOM 获取类属性
【发布时间】:2014-09-09 12:04:41
【问题描述】:

我正在尝试使用以下代码获取属性class 的值

foreach($sub->children() as $child){
    if($child->class!=="viewAll"){
        echo $child->plaintext."<br>";
    }
}

我无法获得班级价值。我怎样才能做到这一点?

更新 我正在遍历这个来源。我逻辑错了吗?

【问题讨论】:

  • @sanki 我需要使用 SimpleHtmlDom,因为这是一个自动服务器端脚本。
  • 是的,他们提到了我在上面的问题中所做的,但对我不起作用
  • 你遇到了什么错误?
  • 我没有收到错误,但条件不起作用

标签: php simple-html-dom web-crawler


【解决方案1】:

根据您的代码,我假设您正在寻找没有 viewAll 类的 &lt;li&gt; 元素。

您可能需要先检查类属性是否存在。试试这个:

foreach($sub->children() as $child){
    # child element doesn't have a class attrib
    if (! $child->hasAttribute('class') || 
    # or child element has a class but it is not 'viewAll'
       ($child->hasAttribute('class') && $child->getAttribute('class') !== 'viewAll'))
        echo $child->plaintext."<br>";
    }
}

或者,在 simple-html-dom 样式中,这样:

$lis = $html->find('ul li[!class]');
foreach ($lis as $li) {
    echo $li->plaintext."<br>";
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-05
    • 2018-09-02
    • 2017-06-10
    相关资源
    最近更新 更多