php 从字符串中获取URL中获得域名

本教程主要主讲从字符串中得出url的域名部份,下面来看看吧。希望对我有帮助。

例如:http://www.phpfensi.com 得到 www.phpfensi.com

  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. }
  20. return $domain;
  21. }// end if(!strcmp...)
  22. }// end if(count...)
  23. }// end function