php html解析器Simple HTML Dom使用说明
发布:smiling 来源: PHP粉丝网 添加日期:2014-07-19 13:55:05 浏览: 评论:0
1. 开始使用
首先下载解压缩,然后将simple_html_dom.php文件包含进要编写的脚本文件中,加载要处理的html,支持三种模式的html加载,分别是『从url中加载,从字符串中加载,从文件中加载』.代码如下:
- require_once('simple_html_dom.php');
- //从url加载
- $html = file_get_html('http://www.phpfensi.com');
- //从字符串加载
- $html = str_get_html('<html><body>Hello World!</body></html>');
- //从文件中加载
- $html = file_get_html('example.htm');
- 从字符串加载网上文件需要先从网络下下载,使用cURL比较好一些,需要在php配置文件中打开php扩展php_curl。
- $url = 'http://www.phpfensi.com';
- $ci = curl_init();
- curl_setopt($ci,CURLOPT_URL,$url);
- curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($ci, CURLOPT_SSL_VERIFYHOST, false);
- curl_setopt($ci, CURLOPT_RETURNTRANSFER, 1);
- $result = curl_exec($ch);
2.查找html元素
使用find函数查找,返回包含对象的数组,常见的查找如下.
- //查找超链接元素
- $alink = $html->find('a');
- //查找第n个连接元素
- $alink = $html->find('a',5);
- //查找id为main的div
- $mainDiv = $html->find('div[id=main]');
- //查找所有定义了id的div
- $idDiv = $html->find('div[id]');
- //查找所有定义了id的元素
- $idAll = $html->find('[id]');
- //查找样式类为info的元素
- $classInfo = $html->find('.info');
- //支持嵌套子元素查找
- $ret = $html->find('ul li');
- //查找多个html元素
- $ret = $html->find('a,img,p');
- //....
3.其他
可以使用内置的函数来进行元素的定位,返回父元素parent,返回子元素数组children,返回第一个子元素first_child,返回最后一个子元素last_child,返回前一个相邻元素prev_sibling,返回后一个相邻元素next_sibling等.提供简单的正则表达式来过滤属性选择器,类似于[attribute]的格式.
每个对象都有4个基本属性:
tag — 返回html标签名
innertext — 返回innerHTML
outertext — 返回outerHTML
plaintext — 返回HTML标签中的文本
返回元素属性值:
- //返回$alink的href值
- $link = $alink->href;
通过设置元素的属性值可以对元素进行添加、修改、删除操作,代码如下:
- //删除url连接
- $alink->href = null;
- //元素的修改
- $ret->outertext = '<div class="nav">' . $ret->outertext . '</div>';
- $ret->outertext = '';
- $ret->outertext = $ret->outertext . '<div>other</div>';
- $ret->outertext = '<div>Welcome</div>' . $ret->outertext;
- -EOF-
Tags: html解析器 Simple使用说明
- 上一篇:php 异步执行脚本程序代码
- 下一篇:CodeIgniter创建一个简单的注册系统
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)