php 获取顶级域名
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | /** * 获取顶级域名 * @param $url * @return string */ public static function getDoMain( $url ){ if ( empty ( $url )){ return '' ; } if ( strpos ( $url , 'http://' ) !== false){ $url = str_replace ( 'http://' , '' , $url ); } if ( strpos ( $url , 'https://' ) !== false){ $url = str_replace ( 'https://' , '' , $url ); } $n = 0; for ( $i = 1; $i <= 3; $i ++) { $n = strpos ( $url , '/' , $n ); $i != 3 && $n ++; } $nn = strpos ( $url , '?' ); $mix_num = min( $n , $nn ); if ( $mix_num > 0 || ! empty ( $mix_num )){ //防止链接带有点 (.) 导致出错 $url = mb_substr( $url ,0, $mix_num ); } $data = explode ( '.' , $url ); $co_ta = count ( $data ); //判断是否是双后缀 $no_tow = true; $host_cn = 'com.cn,net.cn,org.cn,gov.cn' ; $host_cn = explode ( ',' , $host_cn ); foreach ( $host_cn as $val ){ if ( strpos ( $url , $val )){ $no_tow = false; } } //截取域名后的目录 $del = strpos ( $data [ $co_ta -1], '/' ); if ( $del > 0 || ! empty ( $del )){ $data [ $co_ta -1] = mb_substr( $data [ $co_ta -1],0, $del ); } //如果是返回FALSE ,如果不是返回true if ( $no_tow == true){ $host = $data [ $co_ta -2]. '.' . $data [ $co_ta -1]; } else { $host = $data [ $co_ta -3]. '.' . $data [ $co_ta -2]. '.' . $data [ $co_ta -1]; } return $host ; } |
分类:
PHP&mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
2016-05-19 查找mysql数据库中所有包含特定名字的字段所在的表