【问题标题】:PHP: Simple HTML DOM Parser - multiple attributes in find()?PHP:简单的 HTML DOM 解析器 - find() 中的多个属性?
【发布时间】:2012-06-22 22:19:56
【问题描述】:

我正在使用 Simple HTML DOM Parser,但不知道如何获取具有 2 个或更多匹配属性的元素。

遗憾的是,要获得前 2 个 div,这不起作用:

$html = "<div title='test a' class='a' >test a</div>
         <div title='test b' class='b' >test b</div>
         <div title='test c' class='c' >test c</div>";

$htmldom = str_get_html($html);
$ab = $htmldom->find("div[class=a][class=b]");

有可能吗?

【问题讨论】:

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


    【解决方案1】:

    您可以通过调用找到所有具有 a 类或 b 类的 div:

    $ab = $htmldom->find("div[class=a], div[class=b]");
    

    有关详细信息,请see manual“如何查找 HTML 元素 -> 高级”。

    【讨论】:

    • 这对我不起作用。 find('h2') 有效, find('title') 有效,但 find('h2, title') 什么也不返回。
    猜你喜欢
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 2018-06-30
    • 2015-02-14
    • 1970-01-01
    • 2013-03-23
    相关资源
    最近更新 更多