復制代碼 代碼如下:
<?
//采集首頁地址
$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()函數嗎?還是什麼問題?麻煩各位大俠指點迷津啊?