欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

由字符串,提取完整子域名的方法 -php

程序员文章站 2022-05-10 14:46:12
...
具体代码如下:

    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")."
"; echo get_domain("http://www.csd.net/www")."
"; echo get_domain("http://csd.net/")."
"; echo get_domain("http://csd.net/fdfdfd")."
";