它可以使用一些错误检查,但你可以这样做这样的:
<?php
function url_belongs_to_domain($url, $domain){
$url_domain = parse_url($url, PHP_URL_HOST);
return preg_match('/' . preg_quote($domain, '/') . '$/i', $url_domain)==1;
}
var_dump(url_belongs_to_domain('http://code.google.com/ajax/123/1235/214', 'google.com'));
var_dump(url_belongs_to_domain('http://code.google.com/ajax/123/1235/214', 'code.google.com'));
var_dump(url_belongs_to_domain('http://code.google.com/ajax/123/1235/214', 'www.google.com'));
var_dump(url_belongs_to_domain('http://www.google.com/ajax/123/1235/214', 'google.com'));
var_dump(url_belongs_to_domain('http://www.google.com/ajax/123/1235/214', 'code.google.com'));
var_dump(url_belongs_to_domain('http://www.google.com/ajax/123/1235/214', 'www.google.com'));
?>
bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
要知道,顶级域名的精确检测需要核对清单,因为它不遵循任何规则:在www.google.com是google.com,在www.google.co.uk是google.co.uk。
是有没有办法比较google.com来使用google.co.uk例如,仍然返回true? – user220755 2010-01-26 12:41:24