我正在尝试通过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");
}
}
答案 0 :(得分:3)
您应该尝试使用$element->getElementsByTagName('a')
而不是$element->childNodes
。