php函数从url中解析出一个顶级的域名
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2017-04-16 01:07:26
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
/** * 返回一个顶级的域名 * @param string $domain [description] * @return [type] [description] */ function getTopDomain($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; }