如何使用dom php解析器

如何使用dom php解析器,第1张

概述我刚刚在 PHP中解析DOM: 我有一个我想要解析的HTML文件.它有一堆像这样的DIV: <div id="interestingbox"> <div id="interestingdetails" class="txtnormal"> <div>Content1</div> <div>Content2</div> </div></div><d 我刚刚在 PHP中解析DOM:
我有一个我想要解析的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解析器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1098775.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存