php正则表达式取得内容所有链接的方法
网络编程 2021-07-05 10:07www.168986.cn编程入门
这篇文章主要介绍了php正则表达式取得内容所有链接的方法,提供了两个不同的实现方法供大家灵活选择,需要的朋友可以参考下
本文实例讲述了php正则表达式取得内容所有链接的方法。分享给大家供大家参考。具体如下
这里提供二款关于php正则链接的方法,他们可以取得内容所有链接并且保存到一个数组,也可以把链接全部替换.
方法一,代码如下:
代码如下:
function get_all_url($code){
preg_match_all('/<as+href=["|']?([^>"' ]+)["|']?s[^>]>([^>]+)</a>/i',$code,$arr);
return array('name'=>$arr[2],'url'=>$arr[1]);
}
preg_match_all('/<as+href=["|']?([^>"' ]+)["|']?s[^>]>([^>]+)</a>/i',$code,$arr);
return array('name'=>$arr[2],'url'=>$arr[1]);
}
方法二,代码如下:
代码如下:
$site=substr($url,0,strpos($url,"/",8));//站点
$base=substr($url,0,strrpos($url,"/")+1);//文件所在目录
$fp = fopen($url, "r" );//打开url
while(!feof($fp))$contents.=fread($fp,1024);//
$pattern="|href=['"]?([^ '"]+)['" ]|u";
preg_match_all($pattern,$contents, $regarr, preg_set_order);//匹配所有href=
for($i=0;$i<count($regarr);$i++){//遍历所有匹配
if(!eregi("://",$regarr[$i][1]))//是否是相对路径,即是否还有://
if(substr($regarr[$i][1],0,1)=="/")//是否是站点的根目录
echo "link".($i+1).":".$site.$regarr[$i][1]."<br/>";//根目录
else
echo "link".($i+1).":".$base.$regarr[$i][1]."<br/>";//当前目录
else
echo "link".($i+1).":".$regarr[$i][1]."<br/>";//相对路径
}
fclose($fp);
$base=substr($url,0,strrpos($url,"/")+1);//文件所在目录
$fp = fopen($url, "r" );//打开url
while(!feof($fp))$contents.=fread($fp,1024);//
$pattern="|href=['"]?([^ '"]+)['" ]|u";
preg_match_all($pattern,$contents, $regarr, preg_set_order);//匹配所有href=
for($i=0;$i<count($regarr);$i++){//遍历所有匹配
if(!eregi("://",$regarr[$i][1]))//是否是相对路径,即是否还有://
if(substr($regarr[$i][1],0,1)=="/")//是否是站点的根目录
echo "link".($i+1).":".$site.$regarr[$i][1]."<br/>";//根目录
else
echo "link".($i+1).":".$base.$regarr[$i][1]."<br/>";//当前目录
else
echo "link".($i+1).":".$regarr[$i][1]."<br/>";//相对路径
}
fclose($fp);
希望本文所述对大家的正则表达式学习有所帮助。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程