php 信息采集程序代码

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

<?
//采集首页地址
$url="http://emotion.pclady.com.cn/skills/";
//获取页面代码
$rs=file_get_contents($url);
//设置匹配正则
//$fp=fopen("text.txt","a");
//$fw=fwrite($fp,$rs);
//fclose($fp);
/*<I class=titles><A
href="http://emotion.pclady.com.cn/skills/0903/376476.html"
target=_blank>留住你身边的好男人</A></I>*/
$preg='/<i\s+class=\"titles\"><a\s+href=\"[^>]+\">(.*)<\/a><\/i>/i';
//进行正则搜索
preg_match_all($preg,$rs,$title);
//计算标题数量
$count=count($title[0]);
echo $count."<br>";
//通过标题数量进行内容采集
for ($i=0;$i<$count;$i++){

//设置内容页地址
$pr='/<a\s+href=\"[^>]+\">/isU';
preg_match_all($pr,$title[0][$i],$jurl);
$substr=substr($jurl[0][0],9);
$curl=substr($substr,0,-18);
//获取内容页代码
$c=file_get_contents($curl);
//设置内容页匹配正则
$pc='/<a\s+href=\"[^>]+\">/i';
//进行正则匹配搜索
preg_match($pc,$c,$content);
//输出标题
echo $title[0][$i]."<br>";
echo $title[1][$i]."<br>";
$concount=count($content[0]);
echo $concount."<br>";
echo $content[0][0];
for ($j=0;$j<$concount;$j++){

}
}
?>

通过检测,$c已经是内容页的数据流了,可是$pc这个的正则表达式为什么只匹配<这个字符其他的都没有呢,是因为我上面用了subsrt()函数吗?还是什么问题?麻烦各位大侠指点迷津啊?

相关文章

完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题

完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题

最近用zend studio7.2 遇到个问题,就是打开内容很多的php页面(>500行)时,编辑保存速度奇慢。根据网络上google到的资料 ,更改了content Assist...

PHP中的str_repeat函数在JavaScript中的实现

PHP中有一个函数:String str_repeat($str, num);挺好用的....以下通过js和php模拟实现。 1:PHP版本 复制代码 代码如下: /*PHP版实现*/...

Laravel中正确地返回HTTP状态码方法示例

Laravel中正确地返回HTTP状态码方法示例

在 API 中返回状态码是很重要的,因为响应处理程序是工作在 API 的响应状态码之上的。 写 API 时其中有一个重要的地方是更好的处理响应状态码。以前,我一般会使用不常用的 Int...

dedecms防止FCK乱格式化你的代码的修改方法

默认的情况下,FCK开启了XHTML格式化的选项,因此,有些人用可视化编辑更改完整的HTML文件的时候,Head部份可能会被改得不像人样,解决办法如下: 打开 include/...

PHP对象相关知识总结

对象传递:一种说法是“PHP对象是通过引用传递的”,更准确的说法是别名(标识符)传递,即它们都保存着同一个标识符(ID)的拷贝,这个标识符指向同一个对象的真正内容。 <...