我有一个我想要解析的HTML文件.它有一堆像这样的div:
<div ID="interestingBox"> <div ID="interestingdetails" > <div>Content1</div> <div>Content2</div> </div></div><div ID="interestingBox"> ......
我正在尝试使用PHP获取许多div框的内容.
如何使用DOM解析器来做到这一点?
谢谢!
解决方法 首先我要告诉你,你不能在两个不同的div上使用相同的ID;那里有类.每个元素都应该有唯一的ID.用ID =“funBox”获取div的内容的代码
$HTML = '<HTML><head></head><body><div ID="interestingBox"> <div ID="interestingdetails" > <div>Content1</div> <div>Content2</div> </div></div><div ID="interestingBox2"><a href="#">a link</a></div></body></HTML>';$dom_document = new DOMdocument();$dom_document->loadHTML($HTML);//use DOMXpath to navigate the HTML with the DOM$dom_xpath = new DOMXpath($dom_document);// if you want to get the div with ID=interestingBox$elements = $dom_xpath->query("*/div[@ID='interestingBox']");if (!is_null($elements)) { foreach ($elements as $element) { echo "\n[". $element->nodename. "]"; $nodes = $element->childNodes; foreach ($nodes as $node) { echo $node->nodeValue. "\n"; } }}//OUTPUT[div] { Content1 Content2}
类别示例:
$HTML = '<HTML><head></head><body><div > <div ID="interestingdetails" > <div>Content1</div> <div>Content2</div> </div></div><div ><a href="#">a link</a></div></body></HTML>';//the same as before.. just change the xpath[...]$elements = $dom_xpath->query("*/div[@class='interestingBox']");[...]//OUTPUT[div] { Content1 Content2}[div] {a link}
有关详细信息,请参阅DOMXPath页.
总结以上是内存溢出为你收集整理的如何使用dom php解析器全部内容,希望文章能够帮你解决如何使用dom php解析器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)