首页 > php开发 > php html解析器Simple HTML Dom使用说明

php html解析器Simple HTML Dom使用说明

1. 开始使用

首先下载解压缩,然后将simple_html_dom.php文件包含进要编写的脚本文件中,加载要处理的html,支持三种模式的html加载,分别是『从url中加载,从字符串中加载,从文件中加载』.代码如下:

require_once('simple_html_dom.php'); 
//从url加载 
$html = file_get_html('http://www.phprm.com'); 
//从字符串加载 
$html = str_get_html('<html><body>Hello World!</body></html>'); 
//从文件中加载 
$html = file_get_html('example.htm');

从字符串加载网上文件需要先从网络下下载,使用cURL比较好一些,需要在php配置文件中打开php扩展php_curl。 

<?php
$url = 'http://www.phprm.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-

   


文章链接:http://www.phprm.com/develop/fs3816.html

随便收藏,请保留本文地址!

标签:html解析器 simple使用说明

发表留言