PHP的服务器端jQuery phpQuery

MIT
PHP
Linux
2009-12-02
红薯

phpQuery是一个服务器端jQuery开源项目。它可以让PHP开发人员采用与jQuery相同的语法来处理网页元素。

示例代码:

<?php
require('phpQuery/phpQuery.php');
// INITIALIZE IT
// phpQuery::newDocumentHTML($markup);
// phpQuery::newDocumentXML();
// phpQuery::newDocumentFileXHTML('test.html');
// phpQuery::newDocumentFilePHP('test.php');
// phpQuery::newDocument('test.xml', 'application/rss+xml');
// this one defaults to text/html in utf8
$doc = phpQuery::newDocument('<div/>');
// FILL IT
// array syntax works like ->find() here
$doc['div']->append('<ul></ul>');
// array set changes inner html
$doc['div ul'] = '<li>1</li> <li>2</li> <li>3</li>';
// MANIPULATE IT
$li = null;
// almost everything can be a chain
$doc['ul > li']
	->addClass('my-new-class')
	->filter(':last')
		->addClass('last-li')
// save it anywhere in the chain
		->toReference($li);
// SELECT DOCUMENT
// pq(); is using selected document as default
phpQuery::selectDocument($doc);
// documents are selected when created or by above method
// query all unordered lists in last selected document
$ul = pq('ul')->insertAfter('div');
// ITERATE IT
// all direct LIs from $ul
foreach($ul['> li'] as $li) {
	// iteration returns PLAIN dom nodes, NOT phpQuery objects
	$tagName = $li->tagName;
	$childNodes = $li->childNodes;
	// so you NEED to wrap it within phpQuery, using pq();
	pq($li)->addClass('my-second-new-class');
}
// PRINT OUTPUT
// 1st way
print phpQuery::getDocument($doc->getDocumentID());
// 2nd way
print phpQuery::getDocument(pq('div')->getDocumentID());
// 3rd way
print pq('div')->getDocument();
// 4th way
print $doc->htmlOuter();
// 5th way
print $doc;
// another...
print $doc['ul'];

加载中

评论(0)

暂无评论

暂无资讯

暂无问答

phpQuery—基于jQuery的PHP实现

Query的选择器之强大是有目共睹的,phpQuery 让php也拥有了这样的能力,它就相当于服务端的jQuery。

2014/09/25 01:50
1K
6
phpQuery的用法

phpQuery的用法

2015/06/17 14:34
44
0
php解释DOM的又一利器:phpQuery(比simple html dom要强呢)

在认识phpQuery之前用的系Simple HTML DOM,在使用的过程中发现它存在内存溢出问题,尤其是用来抓取网页时,512M的内存没一会就爆掉了(Fatal error: Allowedmemory size of 268435456 byte...

2015/05/05 19:56
74
0
PHPQuery

http://job.blueidea.com <?php include 'phpQuery/phpQuery.php'; phpQuery::newDocumentFile('http://job.blueidea.com'); $companies = pq('#hotcoms .coms')->find('div'); foreach($com...

2015/04/03 17:11
48
0
使用phpQuery轻松采集网页内容

使用phpQuery轻松采集网页内容

2014/10/14 17:09
137
0
phpQuery使用错误解决

phpQuery使用错误解决

2014/05/10 18:10
1K
0
phpQuery使用DOMDocument::loadHTML方法产生报错的处理方式

发现问题 在做爬虫的时候,用了QueryList,在运行的过程中查看日志,出现很多关于phpQuery单文件的error报错,问题是出在html非标准化格式 [ error ] [2]DOMDocument::loadHTML(): htmlPars...

2018/07/27 10:51
196
0
使用phpQuery轻松采集网页内容

phpQuery是一个基于PHP的服务端开源项目,它可以让PHP开发人员轻松处理DOM文档内容,比如获取某新闻网站的头条信息。更有意思的是,它采用了jQuery的思想,你可以像使用jQuery一样处理页面内...

2012/02/08 11:35
409
0
昨天采集美女图片时碰到了防盗链,通过curl破解防盗链。

<?php include 'phpQuery.class.php'; set_time_limit(0); $strUrl = 'http://www.mm131.com/qingchun/list_1_1.html'; $dataStr = file_get_contents($strUrl); $htmlStr = phpQue...

2013/10/16 11:06
1K
0
phpQuery 无法解析 html 结构

有时候解析一段 HTML 代码时 phpQuery 无法解析原因: 可能是缺少类似下面的 meta 信息,在带解析的字符串任意位置添上即可 : <meta http-equiv="Content-Type" content="text/html; charse...

2014/03/27 10:19
81
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部