- 浏览: 283712 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (234)
- php (70)
- linux (46)
- apache (9)
- mysql (13)
- oauth (1)
- IT新闻 (18)
- 代码收藏 (20)
- python (2)
- webservice (6)
- 评论 (7)
- asd (0)
- 开源软件 (6)
- 前端 (9)
- 7z (1)
- js (17)
- windows (4)
- cmd (2)
- 开源 (3)
- vim (6)
- windows 软件安装错误 (2)
- 分享 (3)
- search (1)
- node.js (1)
- xmind (1)
- 变成语言 (1)
- drupal (0)
- jquery (2)
- css (7)
- ietester (1)
- 编辑器 (1)
- java (2)
- html5 (1)
- 生活 (1)
- Sublime Text 2 (1)
- 制图 (0)
- sublime (1)
最新评论
-
muxueqz:
我自己写了个开源的:http://muxueqz.top/sk ...
Delicious被Yahoo卖了 -
yangyongnihao:
...
REST与SOAP样式Web 服务的区别 -
wangshaofei:
zhou7707 写道 大神啊,太及时了,我今天服务器上不了 ...
Debian 6 下搭建nginx 1.3 -
zhou7707:
大神啊,太及时了,我今天服务器上不了外网,为搞包依赖折腾一 ...
Debian 6 下搭建nginx 1.3 -
wangshaofei:
bbs_ld 写道一楼说的对啊。如何解决呢?? 高手大人
利用php创建日期选择框
简单的PHP HTML DOM 解析器 中文手册 | PHP Simple HTML DOM Parser中文手册
目录
快速入门
Top
$html = file_get_html('http://www.google.cn/');
// 寻找所有的img标签
foreach($html->find('img') as $element)
echo $element->src . '<br>';
// 寻找所有的链接标签
foreach($html->find('a') as $element)
echo $element->href . '<br>';
$html = str_get_html('<div id="hello">Hello</div><div id="world">World</div>');
$html->find('div', 1)->class = 'bar';
$html->find('div[id=hello]', 0)->innertext = 'foo';
echo $html; // 输出: <div id="hello">foo</div><div id="world" class="bar">World</div>
// 从HTML中提取内容(不包含标签)
echo file_get_html('http://www.google.com/')->plaintext;
$html = file_get_html('http://slashdot.org/');
// 寻找所有的article块
foreach($html->find('div.article') as $article) {
$item['title'] = $article->find('div.title', 0)->plaintext;
$item['intro'] = $article->find('div.intro', 0)->plaintext;
$item['details'] = $article->find('div.details', 0)->plaintext;
$articles[] = $item;
}
print_r($articles);如何创建HTML DOM 对象?
Top
$html = str_get_html('<html><body>Hello!</body></html>');
//从一个URL创建一个DOM对象
$html = file_get_html('http://www.google.com/');
//从一个HTML文件创建一个DOM对象
$html = file_get_html('test.htm');
$html = new simple_html_dom();
//从字符串中载入HTML
$html->load('<html><body>Hello!</body></html>');
//从URL中载入HTML
$html->load_file('http://www.google.cn/');
//从文件中载入HTML
$html->load_file('test.htm');
//输出
echo $html;如何查找HTML元素?
Top
$ret = $html->find('a');
//查找第N个 锚, 返回元素对象或者当找不到时返回null (从零开始)
$ret = $html->find('a', 0);
//查找最后一个 锚, 返回元素对象或者当找不到时返回null (从零开始)
$ret = $html->find('a', -1);
//通过id属性 查找所有的<div>
$ret = $html->find('div[id]');
// 查找所有属性id=foo的<div>标签
$ret = $html->find('div[id=foo]');
$ret = $html->find('#foo');
//查找所有class=foo的元素
$ret = $html->find('.foo');
//查找所有包含id属性的的元素
$ret = $html->find('*[id]');
//查找所有的锚与图片
$ret = $html->find('a, img');
//查找所有包含title属性的锚与图片
$ret = $html->find('a[title], img[title]');
过滤器
描述
[属性]
匹配包含指定属性的元素.
[!属性]
匹配不包含指定属性的元素.
[属性=value]
匹配等于特定值的指定属性的元素.
[属性!=value]
匹配除包含特定值的指定属性之外的元素
[属性^=value]
匹配包含特定前缀的值的指定属性的元素.
[属性$=value]
匹配包含特定后缀的值的指定属性的元素.
[属性*=value]
匹配包含特定值的指定属性的元素..
$es = $html->find('ul li');
//查找所有的<div>嵌套标签
$es = $html->find('div div div');
//在<table>中查找所有的class=hello的<td>后代
$es = $html->find('table.hello td');
//在table标签中查找所有属性align=center的td
$es = $html->find(''table td[align=center]');
$es = $html->find('text');
//查找所有的comment (<!--...-->)区块
$es = $html->find('comment');
foreach($html->find('ul') as $ul)
{
foreach($ul->find('li') as $li)
{
//在这里执行操作...
}
}
//在第一个<ul>中查找第一个<li>
$e = $html->find('ul', 0)->find('li', 0);
如何访问HTML元素的属性?
Top
$value = $e->href;
// 设置属性(如果是一个空值属性(例如. checked, selected...这些属性),则让值等于true或者false)
$e->href = 'my link';
// 删除属性,让其值为空!
$e->href = null;
// 确定某个属性是否存在?
if(isset($e->href))
echo 'href exist!';
$html = str_get_html("<div>foo <b>bar</b></div>");
$e = $html->find("div", 0);
echo $e->tag; // 返回: " div"
echo $e->outertext; // 返回: " <div>foo <b>bar</b></div>"
echo $e->innertext; // 返回: " foo <b>bar</b>"
echo $e->plaintext; // 返回: " foo bar"
属性名
用法
$e->tag
Read or write the tag name of element.
$e->outertext
Read or write the outer HTML text of element.
$e->innertext
Read or write the inner HTML text of element.
$e->plaintext
Read or write the plain text of element.
echo $html->plaintext;
// Wrap a element
$e->outertext = '<div class="wrap">' . $e->outertext . '<div>';
// Remove a element, set it's outertext as an empty string
$e->outertext = '';
// Append a element
$e->outertext = $e->outertext . '<div>foo<div>';
// Insert a element
$e->outertext = '<div>foo<div>' . $e->outertext;
如何遍历DOM树?
Top
//列子
echo $html->find("#div1", 0)->children(1)->children(1)->children(2)->id;
//或者
echo $html->getElementById("div1")->childNodes(1)->childNodes(1)->childNodes(2)->getAttribute('id');
方法
描述
Returns the Nth child object if index is set, otherwise return an array of children.
Returns the parent of element.
Returns the first child of element, or null if not found.
Returns the last child of element, or null if not found.
Returns the next sibling of element, or null if not found.
Returns the previous sibling of element, or null if not found.
如何储存DOM对象中的内容?
Top
$str = $html->save();
//将DOM树中的内容储存在文件中
$html->save('result.htm');
$str = $html;
//打印输出!
echo $html;
如何自定义解析器方法?
Top
function my_callback($element) {
//隐藏所有的<b>标签
if ($element->tag=='b')
$element->outertext = '';
}
//用它的函数名注册callback函数
$html->set_callback('my_callback');
//当输出时就会引用Callback函数
echo $html;
作者: S.C. Chen (me578022@gmail.com)
本程序创意来自Jose Solorzano的HTML Parser for PHP 4.
贡献者: Yousuke Kumakura, Vadim Voituk, Antcs
中文手册翻译:蜗牛
指正翻译中的错误,以及该程序的讨论地址:蜗牛的牛窝
ComSing 开发者之家
发表评论
-
11111
2013-07-04 00:45 0qqqqqqqqqqqqq -
xcc
2013-06-24 17:41 0xxx -
征婚网站
2013-06-09 17:44 0征婚网站 -
CodeIgniter 用户指南 版本 2.1.3
2013-05-23 02:25 793CodeIgniter 是一套给 PHP 网站开发者使用的应用 ... -
xampp windows xdebug netbeans
2013-04-17 00:15 760xdebug config in php.ini xdeb ... -
Installing_Nginx_With_PHP5_And_MySQL_Support_On_Debian_Squeeze.rar
2013-03-17 20:37 656Installing_Nginx_With_PHP5_And_ ... -
Debian 6 下搭建nginx 1.3
2013-03-17 18:27 17111 准备debian 6.0环境 2 下载需要安装的 ... -
这样用google
2013-01-10 12:49 1042美国人教你这样用Google,你真的会变特工!!!来源: ... -
NetBeans Hot Keys
2012-12-16 17:01 689最近使用netbeans,发现还不错NetBeans Hot ... -
drupal开发
2012-10-12 09:35 0在请求的url中获取回调函数,根据回调函数来判断页面显 ... -
php windows xp zip
2012-09-28 10:31 629php windows xp zip -
drupal7源码和文档
2012-09-19 08:00 634drupal7源码和文档 -
我的文件
2012-06-29 17:18 0阿道夫 -
Nginx + PHP5
2012-06-03 02:44 794WINDOWS下应该有PHP-FPM类 ... -
SSH的官方下载地址
2012-05-15 11:05 0这里分别是SSH的官方下载地址: Struts2.0: ... -
php文档
2012-05-11 10:34 712php文档。 -
php set_magic_quotes_runtime() 函数过时解决方法
2011-11-15 09:45 921tags标签: set_magic_quotes_runtim ... -
php静态方法调用非静态方法不可取
2011-11-08 15:22 2379那天对这个主题比较感 ... -
国外PHP老手谈为何放弃PHP而改用Python
2011-11-01 13:28 1017本文作者做了11年的P ... -
vim 相关操作方法命令
2011-10-28 13:22 26661. 翻页 整页翻页 ctrl-f ctrl-b f就是f ...
相关推荐
simple_html_dom中文解析手册
php-simple-html-dom-parser, PHP简单的HTML DOM解析器适应 Composer 和 PSR 0 php-simple-html-dom-parser版本 1.5.2针对 Composer 和 PSR-0的自适应:用PHP5 编写的HTML解析器允许你以非常简单的方式操作 HTML !...
对于这种情况,可以考虑使用SAX(Simple API for XML)或StAX(Streaming API for XML)等基于事件的解析器,它们不需要一次性加载整个文档到内存。 6. **应用场景**: - 数据交换:XML常用于跨平台、跨语言的数据...
### PHP Simple HTML DOM 解析器使用入门 #### 一、简介 在Web开发领域,解析HTML文档是一项常见的任务。PHP Simple HTML DOM Parser是一款强大的库,它简化了这一过程,使得开发者能够更加高效地处理HTML文档。该...
而"php-simple-html-dom-parser"是一个PHP库,专门用于处理和解析HTML文档,它提供了类似jQuery的API,使得操作HTML文档变得简单直观。这个包的Laravel版本则将这个强大的解析器集成到Laravel框架中,让开发者可以更...
PHP Simple HTML DOM Parser是一个轻量级且易于使用的库,它允许开发者像操作DOM对象一样方便地处理HTML文档,同时也支持jQuery风格的选择器,使得对HTML元素的操作更加直观。本文将详细讲解这个库的核心概念、功能...
高效快速分析和获取HTML内容,对抓取过来的内容进行分析和特定内容提取很方便
PHP简单HTML DOM解析器 simplehtmldom是用于PHP的快速可靠HTML DOM解析器。 主要特征 纯粹基于PHP的DOM解析器(无需XML扩展名)。 适用于格式正确且已损坏HTML文档。 加载网页,本地文件和文档字符串。 支持CSS...
在本文中,我们将深入探讨如何在 Laravel 框架中使用 `laravel-html-dom-parser` 包,这是一个基于 PHP Simple HTML DOM Parser 的 Laravel 封装,用于解析和操作 HTML 文档。通过理解这个包,开发者可以更高效地...
一直以来使用php解析html文档树都是一个难题。Simple HTML DOM parser 帮我们很好地解决了使用 php html 解析 问题。可以通过这个php类来解析html文档,对其中的html元素进行操作 (PHP5+以上版本)。
HtmlParser php html解析工具,类似与PHP Simple HTML DOM Parser。由于基于php模块dom,所以在解析html时的效率比PHP Simple HTML DOM Parser快好几倍。注意:html代码必须是utf-8编码字符,如果不是请转成utf-8...
一直以来使用php解析html文档树都是一个难题。Simple HTML DOM parser 帮我们很好地解决了这个问题。可以通过这个php类来解析html文档,对其中的html元素进行操作 (PHP5+以上版本)
Simple HTML DOM 是一个 PHP 库,用于解析和操作 HTML 文档。它提供了一种简单而直观的方式来处理 HTML 内容,使得开发者能够轻松地抓取网页数据、修改 HTML 结构等。本篇文章将详细介绍如何下载 Simple HTML DOM ...
PHP Simple HTML DOM Parser - v1.9.1 - 2019-10-21 https://sourceforge.net/projects/simplehtmldom/ PHP处理html简单好工具
在JavaScript中,我们可以使用`DOMParser`对象的`parseFromString()`方法,或者在Java中使用`DocumentBuilderFactory`和`DocumentBuilder`来实现。 2. **构建DOM树**:解析器读取XML文档并生成DOM树。在这个过程中...
对于初学者,`DOMDocument`和`PHP Simple HTML DOM Parser`可能是最好的起点,而对更复杂的任务,如HTML5解析或XSS防护,其他库如Gumbo和HTMLPurifier可能更为合适。在实践中,开发者应根据项目的具体需求和资源限制...
此外,标签“源码”和“工具”暗示了这个话题可能包含一些实用的代码示例和可能的工具库,如PHP的DOM扩展,或者是帮助简化DOM操作的第三方库,如PHP Simple HTML DOM Parser。这些工具可以简化对HTML文档的处理,...
此外,对于大数据量的XML文件,DOM解析可能会消耗大量内存,这时可以考虑使用SAX(Simple API for XML)解析方式,它是基于事件驱动的,只在需要时处理数据,更适合处理大型XML文档。但本示例主要关注DOM解析方法,...
可以考虑使用SAX(Simple API for XML)或其他流式解析器,它们按需解析XML,更适合处理大文件。 总结,微信小程序在处理XML数据时,需要依赖第三方库如`dom-parser.js`或`dom.js`。理解XML、DOM和解析库的使用是...
在C#中处理XML时,有两种主要的解析方法:DOM(Document Object Model)和SAX(Simple API for XML)。 1. DOM解析: DOM是一种将整个XML文档加载到内存中的解析方式,它构建了一个树形结构来表示XML文档,允许...