PHP实现获取url地址中顶级域名的方法示例

2025-05-29 0 85

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

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

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35
<?php

/**

* @Author: Ding Jianlong

* @Date: 2019-03-07 16:14:04

* @Last Modified by: Ding Jianlong

* @Last Modified time: 2019-03-20 13:45:12

*/

header('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("http://www.cfi.NEt.cn/"),'<br>';

echo getTopHost("https://www.sina.com.cn/?from=kandian"),'<br>';

运行结果:

abc.com
abc.com
abc.com
qq.com
cfi.net.cn
cfi.net.cn
sina.com.cn

希望本文所述对大家PHP程序设计有所帮助。

原文链接:https://blog.csdn.net/u010071211/article/details/88690531

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP实现获取url地址中顶级域名的方法示例 https://www.kuaiidc.com/92525.html

相关文章

发表评论
暂无评论