当前位置:首页 > PHP教程 > 正则表达式 > 列表

php 匹配url 正则表达式代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-18 09:01:14 浏览: 评论:0 

这是个获取文章内容中所有链接的php正则表达式.

$str ="";

$reg = "<a[sS]*?(href)s*=s*(?(?=["'])((["'])(?<href>[^"']*))|(?<src>[^s>]+))[sS]*?>"; 

下面这个实例是获取内容中域名正则表达式,代码如下:

  1. function get_domain($url){ 
  2.   $pattern = "/[w-]+.(com|net|org|gov|cc|biz|info|cn)(.(cn|hk))*/"
  3.   preg_match($pattern$url$matches); 
  4.   if(count($matches) > 0) { 
  5.    return $matches[0]; 
  6.   }else
  7.    $rs = parse_url($url); 
  8.    $main_url = $rs["host"]; 
  9.    if(!strcmp(long2ip(sprintf("%u",ip2long($main_url))),$main_url)) { 
  10.     return $main_url
  11.    }else
  12.     $arr = explode(".",$main_url); 
  13.     $count=count($arr); 
  14.     $endArr = array("com","net","org","3322");//com.cn  net.cn 等情况 
  15.     if (in_array($arr[$count-2],$endArr)){ 
  16.      $domain = $arr[$count-3].".".$arr[$count-2].".".$arr[$count-1]; 
  17.     }else
  18.      $domain =  $arr[$count-2].".".$arr[$count-1]; 
  19.     }//开源代码phpfensi.com 
  20.     return $domain
  21.    } 
  22.   } 
  23.  } 

使用实例如下:

$str ="jfkdlajfdafdjak;www.phpfensi.com";

echo get_domain($str)

得出值为phpfensi.com

Tags: php正则 表达式 匹配url

分享到: