XPath是一门在 XML 文档中查找信息的语言。XPath可用来在 XML 文档中对元素和属性进行遍历。XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。XPath 含有超过 100 个内建的函数。这些函数用于字符串值、数值、日期和时间比较、节点和 QName 处理、序列处理、逻辑值等等。
本文分享关于php用xpath解析html的代码实例讲解
实例1
$xml = simplexml_load_file('https://forums.eveonline.com'); $names = $xml->xpath("html/body/p/p/form/p/p/p/p/p[*]/p/p/table//tr/td[@class='topicViews']"); foreach($names as $name) { echo $name . "<br/>"; }
实例2
$url = 'http://www.baidu.com'; $ch = curl_init(); curl_setopt($ch, CURLOPT_FILE, fopen('php://stdout', 'w')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_URL, $url); $html = curl_exec($ch); curl_close($ch); // create document object model $dom = new DOMDocument(); // load html into document object model @$dom->loadHTML($html); // create domxpath instance $xPath = new DOMXPath($dom); // get all elements with a particular id and then loop through and print the href attribute $elements = $xPath->query('//*[@id="lg"]/img/@src'); foreach ($elements as $e) { echo ($e->nodeValue); }