Php小技巧备忘--获取域名

function get_domain($url){

    $pattern = "/[w-] .(com|net|org|gov|cc|biz|info|cn)(.(cn|hk))*/";
    preg_match($pattern, $url, $matches);
    if(count($matches) > 0) {
    return $matches[0];
    }else{
    $rs = parse_url($url);
     
    $main_url = $rs["host"];
 
    if(!strcmp(long2ip(sprintf("%u",ip2long($main_url))),$main_url)) {
    return $main_url;
    }else{
    $arr = explode(".",$main_url);
    $count=count($arr);
    $endArr = array("com","net","org","3322");//com.cn net.cn 等情况
    if (in_array($arr[$count-2],$endArr)){
        if(isset($arr[$count-4])){
            $domain = "http://".$arr[$count-4].".".$arr[$count-3].".".$arr[$count-2].".".$arr[$count-1];
        }else{
            $domain = $arr[$count-3].".".$arr[$count-2].".".$arr[$count-1];
        }
    }else{
        if(isset($arr[$count-3])){
            $domain = "http://".$arr[$count-3].".".$arr[$count-2].".".$arr[$count-1];
        }else{
            $domain = "http://".$arr[$count-2].".".$arr[$count-1];
        }
     
    }
    return $domain;
    }// end if(!strcmp...)
    }// end if(count...)
    }// end function
echo get_domain("http://blog.csd.com.hk")."<br>";
echo get_domain("http://www.csd.net/www")."<br>";
echo get_domain("http://csd.net/")."<br>";
echo get_domain("http://csd.net/fdfdfd")."<br>";
posted @ 2014-03-26 13:56  一堵人  阅读(101)  评论(0)    收藏  举报