用php解析html的实现代码
2023-06-13 09:14:29 时间
最近想用php写一个爬虫,就需要解析html,在sourceforge上找到一个项目叫做PHPSimpleHTMLDOMParser,它可以以类似jQuery的方式通过css选择器来返回指定的DOM元素,功能十分强大。
首先要在程序的开始引入simple_html_dom.php这个文件
复制代码代码如下:
首先要在程序的开始引入simple_html_dom.php这个文件
include_once("simple_html_dom.php");
PHPSimpleHTMLDOMParser提供了3种方式来创建DOM对象
//CreateaDOMobjectfromastring
$html=str_get_html("<html><body>Hello!</body></html>");
//CreateaDOMobjectfromaURL
$html=file_get_html("http://www.google.com/");
//CreateaDOMobjectfromaHTMLfile
$html=file_get_html("test.htm");
得到DOM对象后就可以进行各种操作了
//Findallanchors,returnsaarrayofelementobjects
$ret=$html->find("a");
//Find(N)thanchor,returnselementobjectornullifnotfound(zerobased)
$ret=$html->find("a",0);
//Findlastestanchor,returnselementobjectornullifnotfound(zerobased)
$ret=$html->find("a",-1);
//Findall<div>withtheidattribute
$ret=$html->find("div[id]");
//Findall<div>whichattributeid=foo
$ret=$html->find("div[id=foo]");
这里可以使用各种css选择器,就像在jQuery中进行DOM操作一样,非常方便。此外,还有两个特殊的属性可以得到文本和注释的内容
//Findalltextblocks
$es=$html->find("text");
//Findallcomment(<!--...-->)blocks
$es=$html->find("comment");
当然,还是类似于jQuery,PHPSimpleHTMLDOMParser也支持链式操作,以及各种访问DOM元素的简单方法
//Example
echo$html->find("#div1",0)->children(1)->children(1)->children(2)->id;
//or
echo$html->getElementById("div1")->childNodes(1)->childNodes(1)->childNodes(2)->getAttribute("id");
相关文章
- HTML制作网页_手机制作html网页
- PHP对接chatGPT代码,openai接口对接,php 实现chatGPT功能
- 如何使用 PHP 输出压缩的 HTML 代码
- 交互PHP与MySQL联动:实现数据交互(php与mysql数据库)
- PHP与MySQL的网站搭建指南(php和mysql搭建)
- 使用PHP实现Redis订阅功能(redis订阅php)
- PHP连接MSSQL:实现不同数据库的高效通信(php连接mssql端口)
- 深入学习Linux下的PHP编程技巧(linux下php编程)
- PHP开启Redis扩展:极大提升网站性能(php开启redis扩展)
- Linux下实现高效的PHP配置(linux下php配置)
- 使用PHP连接Redis应用的指南(redis连接 php)
- php过滤危险html代码
- php下清空字符串中的HTML标签的代码
- 用PHP的超级变量$_POST获取HTML表单(HTMLForm)数据
- php入门学习知识点一PHP与MYSql连接与查询
- 第二章PHP入门基础之php代码写法
- PHP修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
- php批量替换html标签的实例代码