使用PHP遍历DOM元素

时间:2014-02-21 19:57:35

标签: php dom zend-framework2 web-scraping zend-dom-query

我正在使用Zend \ Dom \ Query从网页获取特定内容。我有一个html文档,如下面

<html>
  <body>
     <div>
        <ul class="abcd">
            <li><a href="">Cow</a></li>
            <li><a href="">Goat</a></li>
        </ul>
        <ul class="abcd">
            <li><a href="">Mouse</a></li>
            <li><a href="">Keyboard</a></li>
        </ul>
        <ul class="abcd">
            <li><a href="">Bus</a></li>
            <li><a href="">Car</a></li>
        </ul>
     </div>
  </body>
</html>

在本文档中,我想了解 Bus,Car 值。

我该怎么做?

如何才能成为捕获这些类型值的专家?你有任何教程吗?

由于

1 个答案:

答案 0 :(得分:3)

假设您想要所有链接值:

use Zend\Dom\Query;

$dom = new Query($html);
$links = $dom->execute('ul li a');

foreach ($links as $link) {
    var_dump($link->nodeValue);
}

如果您只想要上一个列表中的值,并且它们都与示例中的类相同,请尝试:

$links = $dom->execute('ul[last()] li a');

而不是上面的执行行。