]*>([^>]+)/i’"> 跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

PHP取网页所有链接实现程序代码总结

本文章来给大家介绍在PHP取网页所有链接实现程序代码,有直接利用正则的也有用在采集中过滤所有连接地址,有需要了解的朋友可参考。 我们核心代码就是正则表达试了 代码如下复制代码function get_all_url(http://pic3.phprm.com/2013/05/18/$code.jpg){preg_match_all(‘/"' ]+)["|']?s*[^>]*>([^>]+)/i’,$code,$arr);return array(‘name’=>$arr[2],’url’=>$arr[1]);} 上面只是简单的下面看全例 代码如下复制代码http://pic3.phprm.com/2013/05/18/$url.jpg ='http://www.phprm.com';$body=@file_get_contents($url);preg_match_all('/href=['"]?([^'"]*)['"]?>(.*)/i',$body,$b);$nums = array();foreach($b[1] as $u){if(in_array($u,$nums)){continue;}$nums[]=$u;$title=strip_tags($u);echo $title."";} 利用curl函数来获取 立即学习 “ PHP免费学习笔记(深入) ”; 代码如下复制代码/** 使用curl 采集www.phprm.com下的所有链接。*/include_once('function.php');$ch = curl_init();curl_setopt($ch, CURLOPT_URL, 'http://www.phprm.com/');// 只需返回HTTP headercurl_setopt($ch, CURLOPT_HEADER, 1);// 页面内容我们并不需要// curl_setopt($ch, CURLOPT_NOBODY, 1);// 返回结果,而不是输出它curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$html = curl_exec($ch);$info = curl_getinfo($ch);if ($html === false) {echo "cURL Error: " . curl_error($ch);}curl_close($ch);$linkarr = _striplinks($html);// 主机部分,补全用$host = 'http://www.phprm.com/';if (is_array($linkarr)) {foreach ($linkarr as $k => $v) {$linkresult[$k] = _expandlinks($v, $host);}}printf("此页面的所有链接为:
%s
n", var_export($linkresult , true));?> 获取所有网址,但只有不重复的数据 代码如下复制代码$e=clinchgeturl(http://pic3.phprm.com/2013/05/18/forumdisplay.jpg);var_dump($e);function clinchgeturl($url){//$url="http://127.0.0.1/1.htm";//$rootpath="http://fsrootpathfsfsf/yyyyyy/";//var_dump($rrr);if(eregi('(.)*[.](.)*',$url)){$roopath=split("/",$url);$rootpath="http://".$roopath[2]."/";$nnn=count($roopath)-1;for($yu=3;$yu   // var_dump($rootpath); //http: ,'',127.0.0.1,xnml,index.php}else{$rootpath=$url;//var_dump($rootpath);}if(isset($url)){echo "$url 有下列裢接:";$fcontents = file($url);while(list(,$line)=each($fcontents)){while(eregi('(href[[:space:]]*=[[:space:]]*"?[[:alnum:]:@/._-] [?]?[^"]*"?)',$line,$regs)){//$regs[1] = eregi_replace('(href[[:space:]]*=[[:space:]]*"?)([[:alnum:]:@/._-] )("?)',"2",$regs[1]);$regs[1] = eregi_replace('(href[[:space:]]*=[[:space:]]*["]?)([[:alnum:]:@/._-] [?]?[^"]*)(.*)[^"/]*(["]?)',"2",$regs[1]);if(!eregi('^http://',$regs[1])){if(eregi('^..',$regs[1])){// $roopath=eregi_replace('(http://)?([[:alnum:]:@/._-] )[[:alnum:] ](.*)[[:alnum:] ]',"http://2",$url);$roopath=split("/",$rootpath);$rootpath="http://".$roopath[2]."/";//echo "这是根本d :"."n";$nnn=count($roopath)-1;for($yu=3;$yu   //var_dump($rootpath);if(eregi('^..[/[:alnum:]]',$regs[1])){//echo "这是../目录/ :"."n";//$regs[1]="../xx/xxxxxx.xx";// $rr=split("/",$regs[1]);//for($oooi=1;$oooi$rrr=$regs[1];// {$rrr.="/".$rr[$oooi];$rrr = eregi_replace("^[.][.][/]",'',$rrr); / 永久地址: 转载随意~请带上教程地址吧^^

相关文章