php函数从url中解析出一个顶级的域名

来源:赵克立博客 分类: PHP 标签:--发布时间:2017-04-16 01:07:26最后更新:2017-04-16 01:07:26浏览:1852
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。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;
	}



微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python