检查网址是否为Google

时间:2012-05-14 17:24:32

标签: php

我想查看一个网址,看看它是否是Google网址。

我有这个功能

function isValidURL($url)
{
    return preg_match('|^http(s)?://google.com|i', $url);
}

如果我尝试

if ( isValidURL('http://google.com/') ){
    echo 'yes its google url';
}

工作正常。但是,如果我尝试

if ( isValidURL('http://www.google.com/') ){
    echo 'yes its google url';
}

www)我收到错误!

3 个答案:

答案 0 :(得分:4)

当然,因为你的正则表达式还没准备好处理www.

尝试

function isValidURL($url)
{
    return preg_match('|^http(s)?://(www\.)?google\.com|i', $url);
}

答案 1 :(得分:0)

如果您要支持谷歌子域名,请尝试:

preg_match('/^https?:\/\/(.+\.)*google\.com(\/.*)?$/is', $url)

答案 2 :(得分:0)

我喜欢使用PHP的parse_url函数来分析url。它返回一个包含URL的每个部分的数组。这样您就可以确定您正在检查正确的部分,它不会被https或查询字符串抛出。

function isValidUrl($url, $domain_to_check){
       $url = parse_url($url);
       if (strstr($url['host'], $domain_to_search))
            return TRUE;
       return FALSE;
    }

用法:

isValidUrl("http://www.google.com/q=google.com", "google.com");