parse_url
需要一个有效的 URL 并且google.com/blah
无效(从PHP 5.3.3开始)——所以它不起作用。作为一种解决方法,您可以附加http
if 不存在,然后检查域。
使用以下功能:
function checkRootDomain($url)
{
if (!preg_match("~^(?:f|ht)tps?://~i", $url)) {
$url = "http://" . $url;
}
$domain = implode('.', array_slice(explode('.', parse_url($url, PHP_URL_HOST)), -2));
if ($domain == 'google.com') {
return True;
} else {
return False;
}
}
测试用例:
var_dump(checkRootDomain('http://www.google.com/blah'));
var_dump(checkRootDomain('https://www.google.com/blah '));
var_dump(checkRootDomain('google.com/blah'));
var_dump(checkRootDomain('www.google.com/blah '));
结果:
bool(true)
bool(true)
bool(true)
bool(true)
这是我自己的答案的修改版本。
希望这可以帮助!