PHP实现通过URL提取根域名
网络编程 2021-07-05 09:10www.168986.cn编程入门
本文给大家分享的是个人在做项目的时候遇到的,需要通过php实现从URL中提取根域名的代码以及实现思路,有需要的小伙伴可以参考下
PHP根据URL提取根域名,个人工作中用到,由于网络上很多代码都不能得到正确结果就自己写了一个,欢迎大家使用并提出其中的bug.
<?php #使用示例 echo getBaseDomain('http://blog.jp.goo.ne.jp/index.php')->domain;echo "\n"; echo getBaseDomain('http://51.ca/index.php')->domain;echo "\n"; echo getBaseDomain('http://blog.ab..win.aisa.hk/index.php')->domain;echo "\n"; function getBaseDomain($url=''){ if(!$url){ return $url; } #列举域名中固定元素 $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','','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','','yr','','arpa','edu','gov','int','mil','','','','info','pro','name','museum','coop','aero','xxx','idv','me','mobi','asia','ax','bl','bq','cat','cw','gb','jobs','mf','rs','su','sx','tel','travel' ); if(!preg_match("/^http/is", $url)){ $url="http://".$url; } $res = null; $res->domain = null; $res->host = null; $url_parse = parse_url(strtolower($url)); $urlarr = explode(".", $url_parse['host']); $count = count($urlarr); if($count <= 2){ #当域名直接根形式不存在host部分直接输出 $res->domain = $url_parse['host']; }elseif($count > 2){ $last = array_pop($urlarr); $last_1 = array_pop($urlarr); $last_2 = array_pop($urlarr); $res->domain = $last_1.'.'.$last; $res->host = $last_2; if(in_array($last, $state_domain)){ $res->domain=$last_1.'.'.$last; $res->host=implode('.', $urlarr); } if(in_array($last_1, $state_domain)){ $res->domain = $last_2.'.'.$last_1.'.'.$last; $res->host = implode('.', $urlarr); } #print_r(get_defined_vars());die; } return $res; }
上一篇:PHP-FPM实现性能优化
下一篇:PHP的PDO操作简单示例
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指