zoukankan      html  css  js  c++  java
  • php 获取顶级域名

    /**
         * 获取顶级域名
         * @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;
        }
    

      

  • 相关阅读:
    CSS 选择器
    CSS 用法和特性
    Objective-C 事件响应链
    苹果签名机制
    欧几里得算法
    扩展欧几里得算法
    RSA算法
    动态库加载和代码签名
    __attribute__
    信息熵
  • 原文地址:https://www.cnblogs.com/-mrl/p/9061483.html
Copyright © 2011-2022 走看看