站长资讯
php中获取url地址中顶级域名的办法?
来源:     阅读:384
网站管理员
发布于 2021-05-13 14:43
查看主页

PHP实现获取url地址中顶级域名的方法。分享给大家供大家参考,具体如下:

parse_url()获取到的host时多级域名,如:mp.weixin.qq.com。做域名黑名单的时候我们需要得到顶级域名。

有不足之处还请留言指正,谢谢。

<?phpheader('content-type:text/html;charset=utf-8');//获取顶级域名function getTopHost($url){    $url   = strtolower($url); //首先转成小写    $hosts = parse_url($url);    $host  = $hosts['host'];    //查看是几级域名    $data = explode('.', $host);    $n    = count($data);    //判断是否是双后缀    $preg = '/[w].+.(com|net|org|gov|edu).cn$/';    if (($n > 2) && preg_match($preg, $host)) {        //双后缀取后3位        $host = $data[$n - 3] . '.' . $data[$n - 2] . '.' . $data[$n - 1];    } else {        //非双后缀取后两位        $host = $data[$n - 2] . '.' . $data[$n - 1];    }    return $host;}// 测试echo getTopHost("http://ABC.com/s/j?wd=djl"), '<br>';echo getTopHost("http://www.abc.com/s/j?wd=djl"), '<br>';echo getTopHost("http://2.www.abc.com/s/j?wd=djl"), '<br>';echo getTopHost("https://mp.weixin.qq.com/s?__biz=MzA3ODI3ODUzMw=="), '<br>';echo getTopHost("http://cfi.net.cn/"), '<br>';echo getTopHost("https://www.xysoft.cc/php/php-curl-downfile.html/"), '<br>';echo getTopHost("https://www.sina.com.cn/?from=kandian"), '<br>';

运行结果:

abc.comabc.comabc.comqq.comcfi.net.cnxysoft.ccsina.com.cn




免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 站长资讯
相关推荐
php中获取url地址中顶级域名的办法?
内存和存储器有什么区别?
php中会话(Session)实现用户登陆功能。
ChatGPT代理招募中...
如何好好运营自己的小程序。