网学网为广大网友收集整理了,PHP获取网址的顶级域名函数代码,希望对大家有所帮助!
PHP获取网址的顶级域名函数
目前国际顶级域名有:com|edu|gov|int|mil|net|org|biz|info|pro|name|museum|coop|aero|xxx|idv|mobi|cc|me
地域型域名比较多,应该是每个国家地区都会有吧,有心可以去收集,不过据我了解这个域名都是2个字母构成的,它可以单独使用也可以喝国际顶级域名结合使用地域型域名如:
cn 中国
tw 台湾
hk 香港
域名例子:
jb51.cn
baidu.com
jb51.com.cn
以jb51.dom.cn为例:phpwind(自定义部分).com(国际域名部分).cn(地域型域名部分)
获取顶级域名的PHP函数
复制代码 代码如下:
function getdomain($url) {
$host = strtolower ( $url );
if (strpos ( $host, ''/'' ) !== false) {
$parse = @parse_url ( $host );
$host = $parse [''host''];
}
$topleveldomaindb = array (''com'', ''edu'', ''gov'', ''int'', ''mil'', ''net'', ''org'', ''biz'', ''info'', ''pro'', ''name'', ''museum'', ''coop'', ''aero'', ''xxx'', ''idv'', ''mobi'', ''cc'', ''me'' );
$str = '''';
foreach ( $topleveldomaindb as $v ) {
$str .= ($str ? ''|'' : '''') . $v;
}
$matchstr = "[^\.]+\.(?:(" . $str . ")|\w{2}|((" . $str . ")\.\w{2}))$";
if (preg_match ( "/" . $matchstr . "/ies", $host, $matchs )) {
$domain = $matchs [''0''];
} else {
$domain = $host;
}
return $domain;
}
使用例子:
复制代码 代码如下:
$str = "http://www.jb51.net/tools/zhengze.html";
echo getdomain ( $str );
输出:jb51.net