php – 使用DOMDocument按类名获取所有元素
发布时间:2020-12-13 18:19:35 所属栏目:PHP教程 来源:网络整理
导读:这个问题似乎已被无数次回答,但我似乎仍然无法把这些问题放在一起. 我希望按名称获取每个类的节点值.例如 td class="thename"strong32/strong/tdtd class="thename"strong12/strong/td 我想抓住32和12.我认为这需要一些for循环但不确定如何实现它.这是我到目
这个问题似乎已被无数次回答,但我似乎仍然无法把这些问题放在一起.
我希望按名称获取每个类的节点值.例如 <td class="thename"><strong>32</strong></td> <td class="thename"><strong>12</strong></td> 我想抓住32和12.我认为这需要一些for循环但不确定如何实现它.这是我到目前为止所拥有的 $domain = "http://domain.com"; $dom = new DOMDocument(); $dom->loadHTMLFile($domain); $xpath = new DomXpath($dom); $div = $xpath->query('//*[@class="thename"]')->item(0); $stuff = $div ->textContent; echo($stuff);
这是你在找什么?
$result = array(); $doc = <<< HTML <html> <body> <div>1 <span>2</span> </div> <div>3</div> <div>4 <span class="class1"><strong>5</strong></span> <span class="class1"><strong>6</strong></span> <span>7</span> </div> </body> </html> HTML; $classname = "class1"; $domdocument = new DOMDocument(); $domdocument->loadHTML($doc); $a = new DOMXPath($domdocument); $spans = $a->query("//*[contains(concat(' ',normalize-space(@class),' '),' $classname ')]"); for ($i = $spans->length - 1; $i > -1; $i--) { $result[] = $spans->item($i)->firstChild->nodeValue; } echo "<pre>"; print_r($result); exit(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |