数据采集利器——PHP Simple HTML DOM Parser

2014-09-19 08:25:46

PHP Simple HTML DOM Parser(PHP实现的简单的HTML DOM解析器)。

Description, Requirement & Features

  • A HTML DOM parser written in PHP5+ let you manipulate HTML in a very easy way!
  • Require PHP 5+.
  • Supports invalid HTML.
  • Find tags on an HTML page with selectors just like jQuery.
  • Extract contents from HTML in a single line.

Download & Documents

Quick Start

  • How to get HTML elements?

[php]

// Create DOM from URL or file
$html = filegethtml(‘http://www.google.com/’);

// Find all images
foreach($html->find(‘img’) as $element)
echo $element->src . ‘
’;

// Find all links
foreach($html->find(‘a’) as $element)
echo $element->href . ‘
’;

[/php]

  • How to modify HTML elements?

[php]

// Create DOM from string
$html = strgethtml(‘

Hello
World
’);

$html->find(‘div’, 1)->class = ‘bar’;

$html->find(‘div[id=hello]’, 0)->innertext = ‘foo’;

echo $html; // Output:

foo
class="bar">World

[/php]

  • Extract contents from HTML

[php]

// Dump contents (without tags) from HTML
echo filegethtml(‘http://www.google.com/’)->plaintext;

[/php]

  • Scraping Slashdot!

[php]

// Create DOM from URL
$html = filegethtml(‘http://slashdot.org/’);

// Find all article blocks
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);

[/php]

jquery mobile post数据问题

做了个jQuery mobile的表单页面,结果发现提交后没任何反映。。仔细的看了几遍代码都无果,怀疑与JQM有关,试着去掉JQM的css和js,果然好使了,但想不出为何。 码一天代码了,先去洗衣服歇歇再说~ 洗完衣服,瞬间想起上回的jQuery mobile缓存问题——JQM默认使用Ajax提交数据,而我用的是post,怎么会好使呢,于是机智的禁掉Ajax提交,完美解决: 给form加上data-ajax="false"即可。 另附两个今天新get的技能: 1.让表哥(表格)迅速显示出分割线: table{width:100%;border-collapse: collapse;border: none;color:white;} table td{border: solid black 1px;} 2.从数组中随机选择一个或多个字符串: $color=array('aquamarine','chartreuse','darkorange','darkviolet','deeppink')

jQuery Mobile Popups

jQuery Mobile Popup弹窗集合。 带有样式风格的弹出框 显示信息 可自定义样式和最大宽度定义的弹出框 自定义弹窗 弹出菜单 显示信息 弹出菜单 文件 选项 退出 弹出表单 显示信息 登录系统 帐号: 密码: 登录 弹出窗口 显示信息 文件删除 确定要删除这个文件吗? 该操作不可撤销。 删除 取消 弹出图片 显示信息 Close 调用方法: 这个部件在jQueryMobile中会自动初始化,但是你也可以通过popup()方法来调用。 $(‘#uedcool’).popup(); 调用打开弹出框方法: 除了通过一个带有data-rel=’popup’的链接来触发部件显示,还可以调用open方法来打开弹出框部件,如: $(‘#uedcool’).popup(‘open’); 关闭部件的方法: 弹出框可以通过按Esc键或者点击弹出框外面的区域来关闭,除此之外也可以通过调用close方法来关闭,如: $(‘#uedcool’).popup(