主页 > 知识库 > php正则表达式取得内容所有链接的方法

php正则表达式取得内容所有链接的方法

热门标签:科大讯飞语音识别系统 银行业务 服务器配置 Linux服务器 团购网站 Mysql连接数设置 阿里云 电子围栏

本文实例讲述了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]); 
}

方法二,代码如下:
复制代码 代码如下:
$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;$icount($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);

希望本文所述对大家的正则表达式学习有所帮助。

您可能感兴趣的文章:
  • php 正则表达式提取网页超级链接url的函数
  • PHP正则匹配图片并给图片加链接详解
  • 检查url链接是否已经有参数的php代码 添加 ? 或
  • php 正则 过滤html 的超链接
  • php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
  • phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
  • php 短链接算法收集与分析
  • windows服务器下IIS6/7下PHP 无法加载 php_curl.dll 等动态链接库
  • php实现首页链接查询 友情链接检查的代码
  • PHP 超链接 抓取实现代码
  • phpMyAdmin链接MySql错误 个人解决方案
  • PHP使用正则表达式清除超链接文本
  • phpMyAdmin 链接表的附加功能尚未激活的问题
  • php 自写函数代码 获取关键字 去超链接
  • PHP将页面中点击数量高的链接进行高亮显示的方法

标签:衡水 广元 衢州 江苏 蚌埠 枣庄 萍乡 大理

巨人网络通讯声明:本文标题《php正则表达式取得内容所有链接的方法》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266