获取的根域名,比如www.baidu.com 取得baidu.com等等,
支持常用域名后缀,你也可以自己添加新增的域名后缀。
上代码:
/**
* 取得网址根域名
* @param type $domain 域名
* @return string 返回根域名
*/
function GetUrlToDomain($domain)
{
$re_domain = '';
$domain_postfix_cn_array = array("test","xyz","de","com","in","ooo","net","org","gov","edu","com.cn","cn","cc","top","club","monster");
$array_domain = explode(".", $domain);
$array_num = count($array_domain) - 1;
$opt = array (
'options'=> 'FILTER_FLAG_IPV6',
);
if($domain == "localhost"){
$re_domain = $domain;
}
//FILTER_FLAG_IPV6
//elseif (validateIP($domain))
//{
//$re_domain = $domain;
//}
elseif(ip2long($domain)){
$re_domain = $domain;
}
else
{
if($array_domain[$array_num] == 'cn'){
if(in_array($array_domain[$array_num - 1], $domain_postfix_cn_array)){
$re_domain = $array_domain[$array_num - 2] . "." . $array_domain[$array_num - 1] . "." . $array_domain[$array_num];
}
else
{
$re_domain = $array_domain[$array_num - 1] . "." . $array_domain[$array_num];
}
}
else
{
$re_domain = ($array_num > 0)?$array_domain[$array_num - 1] . "." . $array_domain[$array_num]:$domain;
}
}
return $re_domain;
}
使用例子(对的没错,我喜欢用中文作变量名)
$获取域名 = isset($_SERVER['HTTP_HOST'])?$_SERVER['HTTP_HOST']:'localhost';
$实际域名 = strtolower($获取域名);
$根域名 = GetUrlToDomain($实际域名);