源码论坛公告:本站是一个交流学习建站资源的社区论坛,旨在交流学习源码脚本等资源技术,欢迎大家投稿发言! 【点击此处将锦尚放在桌面

源码论坛,商业源码下载,尽在锦尚中国商业源码论坛

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 8924|回复: 0
打印 上一主题 下一主题

[PHP编程] PHP获取网址的顶级域名函数的思路和具体代码

[复制链接]

1175

主题

1564

帖子

9020

金币

超级版主

Rank: 8Rank: 8

积分
19728
跳转到指定楼层
1#
发表于 2019-1-3 05:11:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目前国际顶级域名有:com|edu|gov|int|mil|net|org|biz|info|pro|name|museum|coop|aero|xxx|idv|mobi|cc|me
地域型域名比较多,应该是每个国家地区都会有吧,有心可以去收集,不过据我了解这个域名都是2个字母构成的,它可以单独使用也可以喝国际顶级域名结合使用地域型域名如:
cn 中国
tw 台湾
hk 香港

域名例子:
alibaba.cn
baidu.com
tengxun.com.cn

以alimama.com.cn为例:alimama(自定义部分).com(国际域名部分).cn(地域型域名部分)

获取顶级域名的PHP函数
复制代码 代码如下:

  1. function getdomain($url) {
  2. $host = strtolower ( $url );
  3. if (strpos ( $host, '/' ) !== false) {
  4. $parse = @parse_url ( $host );
  5. $host = $parse ['host'];
  6. }
  7. $topleveldomaindb = array ('com', 'edu', 'gov', 'int', 'mil', 'net', 'org', 'biz', 'info', 'pro', 'name', 'museum', 'coop', 'aero', 'xxx', 'idv', 'mobi', 'cc', 'me' );
  8. $str = '';
  9. foreach ( $topleveldomaindb as $v ) {
  10. $str .= ($str ? '|' : '') . $v;
  11. }

  12. $matchstr = "[^\.]+\.(?:(" . $str . ")|\w{2}|((" . $str . ")\.\w{2}))$";
  13. if (preg_match ( "/" . $matchstr . "/ies", $host, $matchs )) {
  14. $domain = $matchs ['0'];
  15. } else {
  16. $domain = $host;
  17. }
  18. return $domain;
  19. }
复制代码



使用例子:

复制代码 代码如下:

  1. $str = "https://bbs.52jscn.com/tools/zhengze.html";
  2. echo getdomain ( $str ); 
复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

锦尚中国源码论坛

聚合标签|锦尚中国,为中国网站设计添动力 ( 鲁ICP备09033200号 ) |网站地图

GMT+8, 2024-11-14 14:33 , Processed in 0.209598 second(s), 24 queries .

带宽由 锦尚数据 提供 专业的数据中心

© 锦尚中国源码论坛 52jscn Inc. 非法入侵必将受到法律制裁 法律顾问:IT法律网 & 褚福省律师 锦尚爱心 版权申诉 版权与免责声明