PHP DOM获取DIV内部的链接

时间:2014-01-02 02:25:53

标签: php dom

我正在尝试通过DIV迭代并从每个DIV获取所有链接。我把这是一个数组,即:

  [Astronomy]   // div #class=container
       [link] http://www.nasa.gov
       [link] http://www.seti.org
  [Biology]     // div #class=container
       [link] http://www.biology.com
  [Chemistry]   // div #class=container
       [link] http://www.chemistry.com

我可以使用DOM来获取DIV内容的文本,但我无法弄清楚如何在DIV中获取节点的HREF属性。 getAttribute不是Node的方法。如何在现有xpath中迭代元素('a')?

$dom_document = new DOMDocument();
$dom_document->loadHTML($html);
$dom_xpath = new DOMXpath($dom_document);
$elements = $dom_xpath->query("*/div[@class='container']");
foreach($elements as $element) { 
    $nodes = $element->childNodes;
    foreach ($nodes as $node) {
          //  ??? $links = $dom_xpath->query("//a");

    }
}

1 个答案:

答案 0 :(得分:3)

您应该尝试使用$element->getElementsByTagName('a')而不是$element->childNodes