时间:2021-07-01 10:21:17 帮助过:25人阅读
在PHP服务端处理采集来的数据或者处理html文档的时候我们一般都是使用正则表达式来获取我们想要的部分。
对于html页面,不应该使用正则的原因主要有3个
1、编写条件表达式比较麻烦
尤其对于新手,看到一堆”不知所云”的字符评凑在一起,有种脑袋都要炸了的感觉。如果要分离的对象没有太明显的特征,正则写起来更是麻烦。
2、效率不高
对于php来说,正则应该是没有办法的办法,能通过字符串函数解决的,就不要劳烦正则了。用正则去处理一个30多k的文件,效率不敢保证。
3、有phpQuery
如果你使用过jQuery,想获取某个特定元素应该是轻而易举的事情,phpQuery让这成为了可能。你可以按jQuery的语法选择器来筛选你所要的数据。
phpQuery是基于php5新添加的DOMDocument。而DOMDocument则是专门用来处理html/xml。它提供了强大xpath选 择器及其他很多html/xml操作函数,使得处理html/xml起来非常方便。
include 'phpQuery.php';
phpQuery::newDocumentFile('http://www.scutephp.com');
$companies = pq('#hotcoms .coms')->find('div');
foreach($companies as $company)
{
echo pq($company)->find('h3 a')->text()."
";
}
?>
小结
pq()就像jQuery里的$()
基本上jQuery的选择器都可以用在phpQuery上,只要把’.'变成’->’
phpQuery提供了好几种载入文件的方法,有的使用字符串,有的使用文件(包括url),选择的时候要注意
项目地址:http://code.google.com/p/phpquery/