php 取url根域名,php中取得URL的根域名的代码

/**

* 取得根域名

*

* @author lonely

* @create 2011-3-11

* @version 0.1

* @lastupdate lonely

* @package Sl

*/

class Sl_RootDomain{

private static $self;

private $domain=null;

private $host=null;

private $state_domain;

private $top_domain;

/**

* 取得域名分析实例

* Enter description here ...

*/

public static function instace(){

if(!self::$self)

self::$self=new self();

return self::$self;

}

private function __construct(){

$this->state_domain=array(

‘al‘,‘dz‘,‘af‘,‘ar‘,‘ae‘,‘aw‘,‘om‘,‘az‘,‘eg‘,‘et‘,‘ie‘,‘ee‘,‘ad‘,‘ao‘,‘ai‘,‘ag‘,‘at‘,‘au‘,‘mo‘,‘bb‘,‘pg‘,‘bs‘,‘pk‘,‘py‘,‘ps‘,‘bh‘,‘pa‘,‘br‘,‘by‘,‘bm‘,‘bg‘,‘mp‘,‘bj‘,‘be‘,‘is‘,‘pr‘,‘ba‘,‘pl‘,‘bo‘,‘bz‘,‘bw‘,‘bt‘,‘bf‘,‘bi‘,‘bv‘,‘kp‘,‘gq‘,‘dk‘,‘de‘,‘tl‘,‘tp‘,‘tg‘,‘dm‘,‘do‘,‘ru‘,‘ec‘,‘er‘,‘fr‘,‘fo‘,‘pf‘,‘gf‘,‘tf‘,‘va‘,‘ph‘,‘fj‘,‘fi‘,‘cv‘,‘fk‘,‘gm‘,‘cg‘,‘cd‘,‘co‘,‘cr‘,‘gg‘,‘gd‘,‘gl‘,‘ge‘,‘cu‘,‘gp‘,‘gu‘,‘gy‘,‘kz‘,‘ht‘,‘kr‘,‘nl‘,‘an‘,‘hm‘,‘hn‘,‘ki‘,‘dj‘,‘kg‘,‘gn‘,‘gw‘,‘ca‘,‘gh‘,‘ga‘,‘kh‘,‘cz‘,‘zw‘,‘cm‘,‘qa‘,‘ky‘,‘km‘,‘ci‘,‘kw‘,‘cc‘,‘hr‘,‘ke‘,‘ck‘,‘lv‘,‘ls‘,‘la‘,‘lb‘,‘lt‘,‘lr‘,‘ly‘,‘li‘,‘re‘,‘lu‘,‘rw‘,‘ro‘,‘mg‘,‘im‘,‘mv‘,‘mt‘,‘mw‘,‘my‘,‘ml‘,‘mk‘,‘mh‘,‘mq‘,‘yt‘,‘mu‘,‘mr‘,‘us‘,‘um‘,‘as‘,‘vi‘,‘mn‘,‘ms‘,‘bd‘,‘pe‘,‘fm‘,‘mm‘,‘md‘,‘ma‘,‘mc‘,‘mz‘,‘mx‘,‘nr‘,‘np‘,‘ni‘,‘ne‘,‘ng‘,‘nu‘,‘no‘,‘nf‘,‘na‘,‘za‘,‘aq‘,‘gs‘,‘eu‘,‘pw‘,‘pn‘,‘pt‘,‘jp‘,‘se‘,‘ch‘,‘sv‘,‘ws‘,‘yu‘,‘sl‘,‘sn‘,‘cy‘,‘sc‘,‘sa‘,‘cx‘,‘st‘,‘sh‘,‘kn‘,‘lc‘,‘sm‘,‘pm‘,‘vc‘,‘lk‘,‘sk‘,‘si‘,‘sj‘,‘sz‘,‘sd‘,‘sr‘,‘sb‘,‘so‘,‘tj‘,‘tw‘,‘th‘,‘tz‘,‘to‘,‘tc‘,‘tt‘,‘tn‘,‘tv‘,‘tr‘,‘tm‘,‘tk‘,‘wf‘,‘vu‘,‘gt‘,‘ve‘,‘bn‘,‘ug‘,‘ua‘,‘uy‘,‘uz‘,‘es‘,‘eh‘,‘gr‘,‘hk‘,‘sg‘,‘nc‘,‘nz‘,‘hu‘,‘sy‘,‘jm‘,‘am‘,‘ac‘,‘ye‘,‘iq‘,‘ir‘,‘il‘,‘it‘,‘in‘,‘id‘,‘uk‘,‘vg‘,‘io‘,‘jo‘,‘vn‘,‘zm‘,‘je‘,‘td‘,‘gi‘,‘cl‘,‘cf‘,‘cn‘,‘yr‘

);

$this->top_domain=array(‘com‘,‘arpa‘,‘edu‘,‘gov‘,‘int‘,‘mil‘,‘net‘,‘org‘,‘biz‘,‘info‘,‘pro‘,‘name‘,‘museum‘,‘coop‘,‘aero‘,‘xxx‘,‘idv‘,‘me‘,‘mobi‘);

$this->url=$_SERVER[‘HTTP_HOST‘];

}

/**

* 设置URL

* Enter description here ...

* @param string $url

*/

public function setUrl($url=null){

$url=$url?$url:$this->url;

if(empty($url))return $this;

if(!preg_match("/^http::/is", $url))

$url="http://".$url;

$url=parse_url(strtolower($url));

$urlarr=explode(".", $url[‘host‘]);

$count=count($urlarr);

if ($count<=2){

$this->domain=array_pop($url);

}else if ($count>2){

$last=array_pop($urlarr);

$last_1=array_pop($urlarr);

if(in_array($last, $this->top_domain)){

$this->domain=$last_1.‘.‘.$last;

$this->host=implode(‘.‘, $urlarr);

}else if (in_array($last, $this->state_domain)){

$last_2=array_pop($urlarr);

if(in_array($last_1, $this->top_domain)){

$this->domain=$last_2.‘.‘.$last_1.‘.‘.$last;

$this->host=implode(‘.‘, $urlarr);

}else{

$this->host=implode(‘.‘, $urlarr).$last_2;

$this->domain=$last_1.‘.‘.$last;

}

}

}

return $this;

}

/**

* 取得域名

* Enter description here ...

*/

public function getDomain(){

return $this->domain;

}

/**

* 取得主机

* Enter description here ...

*/

public function getHost(){

return $this->host;

}

}

?>

原文:http://www.jb51.net/article/26610.htm

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/257448.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何创建sequence

我用的是在oracle中的方法&#xff0c;在oracle中sequence就是所谓的序列号&#xff0c;每次取的时候它会自动增加&#xff0c;一般用在需要按序列号排序的地方。 1、Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限&#xff0c; CREATE SEQUENCE SI_E…

简易版jQuery——mQuery

前面的话 虽然jQuery已经日渐式微&#xff0c;但它里面的许多思想&#xff0c;如选择器、链式调用、方法函数化、取赋值合体等&#xff0c;有的已经变成了标准&#xff0c;有的一直影响到现在。所以&#xff0c;jQuery是一个伟大的前端框架。前端世界日新月异&#xff0c;由于实…

LaTeX 安装配置 OSX

LaTeX 安装配置 OSX官方网站&#xff1a;http://www.latex-project.orghttp://www.tug.org/mactex/http://pages.uoregon.edu/koch/BasicTeX.pdf完整的Tex超过2G&#xff0c;一般用户没必要&#xff0c;可以先安装BasicTeX&#xff0c;当有需要时include必要的库即可1.安装Basi…

php 正三角塔,PHP 环境塔建与数据类型转换

手动塔建PHP开发环境安装php c:\apps\php安装apache c:\apps\apache1.配制apache配制c:\apps\apache\conf\httpd.confDocumentRoot"c:/apps/www" //指定工作目录,WWW为自已创健Directoryindex index.php index.html // 加入:loadModule php5_module "c:\apps\PH…

C/C++基础知识:函数指针和指针函数的基本概念

【函数指针】 在程序运行中&#xff0c;函数代码是程序的算法指令部分&#xff0c;它们和数组一样也占用存储空间&#xff0c;都有相应的地址。可以使用指针变量指向数组的首地址&#xff0c;也可以使用指针变量指向函数代码的首地址&#xff0c;指向函数代码首地址的指针…

告警系统邮件引擎

2019独角兽企业重金招聘Python工程师标准>>> 20.23-20.25 告警系统邮件引擎 创建发邮件的脚本——mail.py [rootlocalhost mail]# pwd /usr/local/sbin/mon/mail[rootlocalhost mail]# vim mail.py #!/usr/bin/env python #-*- coding: UTF-8 -*- import os,sys rel…

【HTTP 2】简介(Introduction)

前情提要 在上一篇文章《【HTTP 2.0】 序言》中&#xff0c;我们简要介绍了 HTTP 2 协议的概要和协议状态。 在本篇文章中&#xff0c;我们将会了解到 HTTP 2 协议简介&#xff08;Introduction&#xff09;部分的内容。 简介&#xff08;Introduction&#xff09; 超文本传输协…

java测试类生成对象,java编写student类 用Java编写一段测试程序,生成student类的两个对象,并输出每个对象基本信息?...

java中怎么创建对象数组&#xff1f;比如我创建了一个学生类Student&#xff0c;怎么用这个类创建一个对象数组&#xff0c;麻烦给个例子&#xff1f;学生类&#xff1a;classA{privateStringnameprivateintagepublicStringgetName(){returnname}publicvoidsetName(Stringname)…

iOS -- SKScene类

SKScene类 继承自SKEffectNode:SKNode:UIResponder:NSObject符合NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject)框架 /System/Library/Frameworks/SpriteKit.framework可用性可用于iOS 7.0或者更晚的版本声明于SKScene.h参考指南Sprite Kit Progamming Guide概览 重要提…

SSD硬盘 全盘安全擦除

此文From http://ssd.zol.com.cn/575/5753057.html 在SSD固态硬盘的使用过程中&#xff0c;部分用户可能会碰到计算机意外掉电或死机并强行断电后&#xff0c;系统出现异常&#xff0c;扫描SSD后发现坏块&#xff0c;然后一着急一跺脚甚至想返厂维修。 其实掉电后固态硬盘出现坏…

php中等3秒再跳转,跳转和重定向

页面跳转在应用开发中&#xff0c;经常会遇到一些带有提示信息的跳转页面&#xff0c;例如操作成功或者操作错误页面&#xff0c;并且自动跳转到另外一个目标页面。系统的ThinkController类内置了两个跳转方法success和error&#xff0c;用于页面跳转提示&#xff0c;而且可以支…

2017敏捷沙滩大会:完美软件,测量持续交付,以及探索未来

在英国康沃尔郡举行的2017敏捷沙滩大会上&#xff0c;数百名演讲者和参与者共聚一堂&#xff0c;探讨敏捷和后敏捷领域软件开发方法有哪些最新进展。本次大会最后一个下午的要点包括&#xff1a;交付团队可以通过拥抱精益、迭代和持续的部署方法更快速地实现业务价值&#xff1…

做fzu oj 1045 做减法学到的sprintf()函数

题目 做题一直输不出答案&#xff0c;于是就上网去百度了这题的解题&#xff0c;发现解答十分的简短&#xff0c;而且其中我看见了平时没见过的函数&#xff0c;sprintf()。 于是就百度sprintf()的使用。 如下&#xff1a; 函数功能&#xff1a;把格式化的数据写入某个字符串 函…

动态内存分配及变量存储类别(第二部分)

5. C语言变量的存储类别和生存期 我们知道&#xff0c;变量是有数据类型的&#xff0c;用以说明它占用多大的内存空间&#xff0c;可以进行什么样的操作。除了数据类型&#xff0c;变量还有一个属性&#xff0c;称为“存储类别”。存储类别就是数据在内存中的存放区域。一个正在…

oracle的em能干什么,转载 解决Oracle的EM登录

转载 解决Oracle的EM登录(2011-03-13 20:53:39)标签&#xff1a;杂谈这几天解决了EM无法登录的问题&#xff0c;顺便也把j数据库程序中常出现的ORA_12518错误解决了&#xff0c;有必要总结一下&#xff0c;我最初遇到的情况是这样的&#xff1a;1. 编写java程序访问oracle数据库…

python 回溯法 子集树模板 系列 —— 1、8 皇后问题

问题 88格的国际象棋上摆放八个皇后&#xff0c;使其不能互相攻击&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上&#xff0c;问有多少种摆法。 分析 为了简化问题&#xff0c;考虑到8个皇后不同行&#xff0c;则每一行放置一个皇后&#xff0c;每一行的皇后…

Core Java Volume I — 3.6. Strings

3.6. StringsConceptually, Java strings are sequences of Unicode characters&#xff08;Java的字符串是一个Unicode序列&#xff09;. For example, the string "Java\u2122" consists of the five Unicode characters J, a, v, a, and ?. Java does not have a…

Android实用代码七段(五)

前言 每次分享意味着每次都有进步&#xff0c;本系列以实用为主&#xff0c;欢迎和我分享和推荐好用的代码段~~声明欢迎转载&#xff0c;但请保留文章原始出处:) 博客园&#xff1a;http://www.cnblogs.com农民伯伯&#xff1a; http://over140.cnblogs.com 正文 1、展开、收起…

oracle 自增1,oracle自增无法从1开始

问题描述我想让XH字段从1开始增加,由于是varchar类型的,所以就用这种方式,但我发现我的数据表中XH字段是从217开始增加的,为什么啊问题出现的环境背景及自己尝试过哪些方法相关代码// 请把代码文本粘贴到下方(请勿用图片代替代码)declarej number;i number;begini:1;j:1;for i …

ceph Luminous版手动安装零散记录

1.安装必要的依赖包&#xff0c;关防火墙&#xff0c;向/etc/hosts内添加域名等 2.安装ceph 配置yum源 (如果嫌慢&#xff0c;可以配置cachedir/home/yum/$basearch/$releasever和keepcache1两个参数&#xff0c;在第一次安装时将安装包下载到本地做成yum源&#xff0c;给后面的…