返回首页
当前位置: 首页>Lamp教程>PHP>

PHP正则表达式获取所有格式URL【原】

时间:2009-06-17 13:13来源:未知 作者:admin 点击:
今天闲来无事 写了这么一个正则表达式:这个PHP的正则表达式 可以满足HTTP://协议的 所有URL地址的匹配。 可获取的URL 地址类型( www.91php.com baidu.com
  

今天闲来无事 写了这么一个正则表达式:这个PHP的正则表达式 可以满足HTTP://协议的 所有URL地址的匹配。

可获取的URL 地址类型(www.91php.com 91php.com http://www.91php.com http://group.yidabasns.com/index.php?do=default&tag=1&gid=1003135  http://www.91php.com/hdown/200809/07-50.html

下面请看代码 (大家可以拿去改成一个function 方法 函数 来用)

 

  1. <?php  
  2. $newContent = "我在永余PHP技术社区发现了好多高级教程,快来看呀!www.91php.com www.g.cn http://www.baidu.com http://www.163.com/shipin.html http://www.sina.com/jscss.html";  
  3. $pattern = "/(http:\/\/)*(www)*[\w-]*(\.)*[\w-]+\.(com|net|org|gov|cc|fm|me|biz|info|cn)(\.(cn|hk))*(\/)*([\w-\]\/\.\?\=\&])*/";
  4. preg_match_all($pattern$newContent$matches);  
  5. //var_dump($matches);exit;  
  6. for($i=0;$i<count($matches[0]);$i++){  
  7. $cleanURL = str_replace("http://","",$matches[0][$i]);  
  8. $newAddress = "<a href='http://".$cleanURL."' target='_blank'>".$cleanURL."</a>";  
  9. $newContent = str_replace($matches[0][$i],$newAddress$newContent);  
  10. }  
  11. echo $newContent;  
  12. ?>  

 

以上代码有个BUG   就是  当有相同域名的时候 替换会出问题

修改后代码请查看 文章 :

PHP正则获取所有格式URL 第二版【原】

顶一下
(0)
0%
踩一下
(1)
100%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
Google
推荐内容