选择语言 :

 Core_HttpIO::get_primary_domain

获取一个域名的主域名

支持传入URL

 HttpIO::get_primary_domain('test.myqee.com');              //myqee.com

 HttpIO::get_primary_domain('http://v3.myqee.com/docs/');   //myqee.com
string Core_HttpIO::get_primary_domain( string $host )

参数列表

参数 类型 描述 默认值
$host string $host
返回值
  • string
File: ./core/classes/httpio.class.php
public static function get_primary_domain($host)
{
    $host = strtolower($host);
    if(false!==strpos($host, '/'))
    {
        $parse = @parse_url($host);
        $host  = $parse['host'];
    }

    $top_level_domain = array
    (
        'com',
        'edu',
        'gov',
        'int',
        'mil',
        'net',
        'org',
        'biz',
        'info',
        'pro',
        'name',
        'museum',
        'coop',
        'aero',
        'xxx',
        'idv',
        'mobi',
        'cc',
        'me'
    );

    $str='';
    foreach($top_level_domain 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;
}