php专区

 首页 > php专区 > PHP应用 > 常用功能 > php html解析器Simple HTML Dom使用说明 - php高级应用

php html解析器Simple HTML Dom使用说明 - php高级应用

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

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

1. 开始使用

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

  1. require_once('simple_html_dom.php'); 
  2. //从url加载 
  3. $html = file_get_html('http://www.phpfensi.com'); 
  4. //从字符串加载 
  5. $html = str_get_html('Hello World!'); 
  6. //从文件中加载 
  7. $html = file_get_html('example.htm');  
  8. 从字符串加载网上文件需要先从网络下下载,使用cURL比较好一些,需要在php配置文件中打开php扩展php_curl。 
  9.  
  10. $url = 'http://www.phpfensi.com'
  11. $ci = curl_init(); 
  12. curl_setopt($ci,CURLOPT_URL,$url); 
  13. curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, false); 
  14. curl_setopt($ci, CURLOPT_SSL_VERIFYHOST, false); 
  15. curl_setopt($ci, CURLOPT_RETURNTRANSFER, 1); 
  16. $result = curl_exec($ch); 

2.查找html元素

使用find函数查找,返回包含对象的数组,常见的查找如下.

  1. //查找超链接元素 
  2. $alink = $html->find('a'); 
  3. //查找第n个连接元素 
  4. $alink = $html->find('a',5); 
  5. //查找id为main的div 
  6. $mainDiv = $html->find('div[id=main]'); 
  7. //查找所有定义了id的div 
  8. $idDiv = $html->find('div[id]'); 
  9. //查找所有定义了id的元素 
  10. $idAll = $html->find('[id]'); 
  11. //查找样式类为info的元素 
  12. $classInfo = $html->find('.info'); 
  13. //支持嵌套子元素查找 
  14. $ret = $html->find('ul li'); 
  15. //查找多个html元素 
  16. $ret = $html->find('a,img,p'); 
  17. //....  

3.其他

可以使用内置的函数来进行元素的定位,返回父元素parent,返回子元素数组children,返回第一个子元素first_child,返回最后一个子元素last_child,返回前一个相邻元素prev_sibling,返回后一个相邻元素next_sibling等.提供简单的正则表达式来过滤属性选择器,类似于[attribute]的格式.

每个对象都有4个基本属性:

tag — 返回html标签名

innertext — 返回innerHTML

outertext — 返回outerHTML

plaintext — 返回HTML标签中的文本

返回元素属性值:

  1. //返回$alink的href值 
  2. $link = $alink->href;  

通过设置元素的属性值可以对元素进行添加、修改、删除操作,代码如下:

  1. //删除url连接 
  2. $alink->href = null; 
  3. //元素的修改 
  4. $ret->outertext = '' . $ret->outertext . '
'
  • $ret->outertext = ''
  • $ret->outertext = $ret->outertext . '
    other
    '
  • $ret->outertext = '
    Welcome
    '
     . $ret->outertext;  
  • -EOF- 
  • 分享到:
    CodeIgniter创建一个简单的注册系统 - ph...
    CodeIgniter创建一个简单的注册系统 本文章来给大家介绍CodeIgniter创建一个简单的注册系统,CodeIgniter 是一个简单快速的PHP MVC 框架,CodeIgniter 不需要大量代码,也不会要求您插入类似于 PEAR 的庞大的库,它在 PHP 4 和 PHP 5 中表现同样良好,允许您创建可移植的应用程序,最后,您不必使用...
    php 异步执行脚本程序代码 - php高级应用
    php 异步执行脚本程序代码 这里说的异步执行是让php脚本在后台挂起一个执行具体操作的脚本,主脚本退出后,挂起的脚本还能继续执行,比如执行某些耗时操作或可以并行执行的操作,可以采用php异步执行的方式,主脚本和子脚本的通讯可以采用外部文件或memcached的方式,原理就是通过exec或system来执...
    •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
    • 在这里……