- 浏览: 274484 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 753CodeIgniter 是一套给 PHP 网站开发者使用的应用 ... -
xampp windows xdebug netbeans
2013-04-17 00:15 718xdebug config in php.ini xdeb ... -
Installing_Nginx_With_PHP5_And_MySQL_Support_On_Debian_Squeeze.rar
2013-03-17 20:37 616Installing_Nginx_With_PHP5_And_ ... -
Debian 6 下搭建nginx 1.3
2013-03-17 18:27 16511 准备debian 6.0环境 2 下载需要安装的 ... -
这样用google
2013-01-10 12:49 999美国人教你这样用Google,你真的会变特工!!!来源: ... -
NetBeans Hot Keys
2012-12-16 17:01 653最近使用netbeans,发现还不错NetBeans Hot ... -
drupal开发
2012-10-12 09:35 0在请求的url中获取回调函数,根据回调函数来判断页面显 ... -
php windows xp zip
2012-09-28 10:31 600php windows xp zip -
drupal7源码和文档
2012-09-19 08:00 603drupal7源码和文档 -
我的文件
2012-06-29 17:18 0阿道夫 -
Nginx + PHP5
2012-06-03 02:44 766WINDOWS下应该有PHP-FPM类 ... -
SSH的官方下载地址
2012-05-15 11:05 0这里分别是SSH的官方下载地址: Struts2.0: ... -
php文档
2012-05-11 10:34 682php文档。 -
php set_magic_quotes_runtime() 函数过时解决方法
2011-11-15 09:45 891tags标签: set_magic_quotes_runtim ... -
php静态方法调用非静态方法不可取
2011-11-08 15:22 2339那天对这个主题比较感 ... -
国外PHP老手谈为何放弃PHP而改用Python
2011-11-01 13:28 992本文作者做了11年的P ... -
vim 相关操作方法命令
2011-10-28 13:22 26291. 翻页 整页翻页 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 !...
一直以来使用php解析html文档树都是一个难题。Simple HTML DOM parser 帮我们很好地解决了这个问题。可以通过这个php类来解析html文档,对其中的html元素进行操作 (PHP5+以上版本)。
Laravel开发-php-simple-html-dom-parser PHP简单HTML DOM解析器包的Laravel包装。
高效快速分析和获取HTML内容,对抓取过来的内容进行分析和特定内容提取很方便
PHP简单HTML DOM解析器 simplehtmldom是用于PHP的快速可靠HTML DOM解析器。 主要特征 纯粹基于PHP的DOM解析器(无需XML扩展名)。 适用于格式正确且已损坏HTML文档。 加载网页,本地文件和文档字符串。 支持CSS...
HtmlParser php html解析工具,类似与PHP Simple HTML DOM Parser。由于基于php模块dom,所以在解析html时的效率比PHP Simple HTML DOM Parser快好几倍。注意:html代码必须是utf-8编码字符,如果不是请转成utf-8...
Laravel开发-laravel-html-dom-parser PHP Simple HTML DOM Parser包的Laravel包装
一直以来使用php解析html文档树都是一个难题。Simple HTML DOM parser 帮我们很好地解决了使用 php html 解析 问题。可以通过这个php类来解析html文档,对其中的html元素进行操作 (PHP5+以上版本)。
PHP Simple HTML DOM Parser - v1.9.1 - 2019-10-21 https://sourceforge.net/projects/simplehtmldom/ PHP处理html简单好工具
一直以来使用php解析html文档树都是一个难题。Simple HTML DOM parser 帮我们很好地解决了这个问题。可以通过这个php类来解析html文档,对其中的html元素进行操作 (PHP5+以上版本)
最简单的xmlparser解析器,老外写的,只有两个文件就搞定,.cpp 和.h文件,c++ DOM型
最近想用php写一个爬虫,就需要解析html,在sourceforge上找到一个项目叫做PHP Simple HTML DOM Parser,它可以以类似jQuery的方式通过css选择器来返回指定的DOM元素,功能十分强大。 首先要在程序的开始引入simple_...
define("PARSER_FILE", './simple_html_dom.php'); // 添加php_web_spider,创建一个实例 require_once('./php_web_spider.php'); $sp = new spider; 应用场合一 抓取检索结果 // eg1 可以直接get百度检索结果 $url...
simple-xml-dom 是围绕和一个瘦包装器,它使解析和序列化 XML 更加愉快。 它取决于节点中的和浏览器中的本机实现。 安装 $ npm install simple-xml-dom 注意:xmldom 没有与 simple-xml-dom 一起安装 用法 基本的 ...
YuNetSurf is a HTML5 parser and tree builder with CSS3 tokeniser, parser, and selection engine for Delphi (Embarcadero / CodeGear / Borland). HTML Parser and Tree Builder Parse HTML, good and bad. ...
OLX广告解析器 开始工作之前,您需要在links.txt文件中填写指向所宣传广告的链接 二手第三方图书馆 使用文档 档案文件 文件 描述 index.php 主要可执行文件 links.txt ...核心/ simple_html_dom.php
HTMLDoc:PHP HTML文档解析器和Minifier 基于令牌HTML文档解析器和压缩器,用PHP编写。 描述 一个HTML解析器,主要用于缩小HTML文档,它还可以查询文档结构,从而提取属性和textnode值。 这两个解析器都是围绕标记...
a simple xml dom parser
在Swift中实现的简单XML解析器这是什么? 这是一个受SwiftyJSON和SWXMLHash启发的XML解析器。 Foundation框架中的NSXMLParser是一种“ SAX”解析器。 它具有足够的性能,但是在Swift中实现了一点inc Simple XML ...