PHP检查URL是否是子域URL

时间:2015-01-27 23:37:03

标签: php string function url dns

我编写了一个函数来验证给定的URL是否是子域URL。

<?php

header("Content-Type: text/plain"); 

function isSubDomain($myDomain)
{

    $myDomain=parse_url($myDomain)["host"];

    if(strstr($myDomain,'.',true)=='www')
    {
        return 0;
        break;
    }

    $domainExtentions=array(
                            '.com',
                            '.net',
                            '.org',
                            '.co.uk'
                            );

    foreach($domainExtentions as $extention)
    {
        if($extention==substr($myDomain,-(strlen($extention))))
        {
            $mydomain=substr($myDomain,0,-(strlen($extention)));
        }

    }

    if (substr_count($mydomain,'.')>0)
    {
        return 1;
    }

}

//Sub-domain exists
    if(isSubDomain('http://SUBDOMAIN.hezi-gangina.com/pua/pug/index.php?q=balataLeStus'))
    {
        echo'This url contains sub-domain!';
        echo "\r\n";
    }
    else
    {
        echo'This url doesn\'t have any sub-domain!';
        echo "\r\n";
    }

//No subdomain (www)    
    if(isSubDomain('http://www.hezi-gangina.com/pua/pug/index.php?q=haMetrixHeshbon'))
    {
        echo'This url contains sub-domain!';
        echo "\r\n";
    }
    else
    {
        echo'This url doesn\'t have any sub-domain!';
        echo "\r\n";
    }

//Non www url (and no sub-domain)
    if(isSubDomain('http://hezi-gangina.com/pua/pug/index.php?q=einLehaSikuy'))
    {
        echo'This url contains sub-domain!';
        echo "\r\n";
    }
    else
    {
        echo'This url doesn\'t have any sub-domain!';
        echo "\r\n";
    }

看起来工作得很完美(并且当然,域名扩展应该完全更新),这就带来了问题......

  1. 在框外是否有#34;&#34;存储具有所有域扩展名的数组的PHP命令,还是需要手动更新?

  2. 从任何指定网址中删除所有可能的扩展程序 AND 后,该域名不是以www开头的...它是否可能不会成为子域?< / p>

1 个答案:

答案 0 :(得分:0)

如果你在&#34;爆炸了怎么办?&#34;?您可以查看下一个最后一个部分是否.co来确定扩展名是一个还是两个部分。您可以查看第一部分以查看它是否为www,然后部件计数可以告诉您它是否是子域。