这里有新鲜出炉的PHP面向对象编程,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于web开发领域。PHP的文件后缀名为php。
这篇文章主要介绍了PHP自定义函数获取URL中一级域名的方法,涉及字符串与数组相关操作技巧,需要的朋友可以参考下
本文实例讲述了PHP自定义函数获取URL中一级域名的方法。分享给大家供大家参考,具体如下:
- <?php
- /*
- * Created on 2016-8-23
- */
- function regular_domain($domain)
- {
- if (substr ( $domain, 0, 7 ) == 'http://') {
- $domain = substr ( $domain, 7 );
- }
- if (strpos ( $domain, '/' ) !== false) {
- $domain = substr ( $domain, 0, strpos ( $domain, '/' ) );
- }
- return strtolower ( $domain );
- }
- function top_domain($domain) {
- $domain = regular_domain ( $domain );
- $iana_root = array (
- 'ac',
- 'ad',
- 'ae',
- 'aero',
- 'af',
- 'ag',
- 'ai',
- 'al',
- 'am',
- 'an',
- 'ao',
- 'aq',
- 'ar',
- 'arpa',
- 'as',
- 'asia',
- 'at',
- 'au',
- 'aw',
- 'ax',
- 'az',
- 'ba',
- 'bb',
- 'bd',
- 'be',
- 'bf',
- 'bg',
- 'bh',
- 'bi',
- 'biz',
- 'bj',
- 'bl',
- 'bm',
- 'bn',
- 'bo',
- 'bq',
- 'br',
- 'bs',
- 'bt',
- 'bv',
- 'bw',
- 'by',
- 'bz',
- 'ca',
- 'cat',
- 'cc',
- 'cd',
- 'cf',
- 'cg',
- 'ch',
- 'ci',
- 'ck',
- 'cl',
- 'cm',
- 'cn',
- 'co',
- 'com',
- 'coop',
- 'cr',
- 'cu',
- 'cv',
- 'cw',
- 'cx',
- 'cy',
- 'cz',
- 'de',
- 'dj',
- 'dk',
- 'dm',
- 'do',
- 'dz',
- 'ec',
- 'edu',
- 'ee',
- 'eg',
- 'eh',
- 'er',
- 'es',
- 'et',
- 'eu',
- 'fi',
- 'fj',
- 'fk',
- 'fm',
- 'fo',
- 'fr',
- 'ga',
- 'gb',
- 'gd',
- 'ge',
- 'gf',
- 'gg',
- 'gh',
- 'gi',
- 'gl',
- 'gm',
- 'gn',
- 'gov',
- 'gp',
- 'gq',
- 'gr',
- 'gs',
- 'gt',
- 'gu',
- 'gw',
- 'gy',
- 'hk',
- 'hm',
- 'hn',
- 'hr',
- 'ht',
- 'hu',
- 'id',
- 'ie',
- 'il',
- 'im',
- 'in',
- 'info',
- 'int',
- 'io',
- 'iq',
- 'ir',
- 'is',
- 'it',
- 'je',
- 'jm',
- 'jo',
- 'jobs',
- 'jp',
- 'ke',
- 'kg',
- 'kh',
- 'ki',
- 'km',
- 'kn',
- 'kp',
- 'kr',
- 'kw',
- 'ky',
- 'kz',
- 'la',
- 'lb',
- 'lc',
- 'li',
- 'lk',
- 'lr',
- 'ls',
- 'lt',
- 'lu',
- 'lv',
- 'ly',
- 'ma',
- 'mc',
- 'md',
- 'me',
- 'mf',
- 'mg',
- 'mh',
- 'mil',
- 'mk',
- 'ml',
- 'mm',
- 'mn',
- 'mo',
- 'mobi',
- 'mp',
- 'mq',
- 'mr',
- 'ms',
- 'mt',
- 'mu',
- 'museum',
- 'mv',
- 'mw',
- 'mx',
- 'my',
- 'mz',
- 'na',
- 'name',
- 'nc',
- 'ne',
- 'net',
- 'nf',
- 'ng',
- 'ni',
- 'nl',
- 'no',
- 'np',
- 'nr',
- 'nu',
- 'nz',
- 'om',
- 'org',
- 'pa',
- 'pe',
- 'pf',
- 'pg',
- 'ph',
- 'pk',
- 'pl',
- 'pm',
- 'pn',
- 'pr',
- 'pro',
- 'ps',
- 'pt',
- 'pw',
- 'py',
- 'qa',
- 're',
- 'ro',
- 'rs',
- 'ru',
- 'rw',
- 'sa',
- 'sb',
- 'sc',
- 'sd',
- 'se',
- 'sg',
- 'sh',
- 'si',
- 'sj',
- 'sk',
- 'sl',
- 'sm',
- 'sn',
- 'so',
- 'sr',
- 'ss',
- 'st',
- 'su',
- 'sv',
- 'sx',
- 'sy',
- 'sz',
- 'tc',
- 'td',
- 'tel',
- 'tf',
- 'tg',
- 'th',
- 'tj',
- 'tk',
- 'tl',
- 'tm',
- 'tn',
- 'to',
- 'tp',
- 'tr',
- 'travel',
- 'tt',
- 'tv',
- 'tw',
- 'tz',
- 'ua',
- 'ug',
- 'uk',
- 'um',
- 'us',
- 'uy',
- 'uz',
- 'va',
- 'vc',
- 've',
- 'vg',
- 'vi',
- 'vn',
- 'vu',
- 'wf',
- 'ws',
- 'xxx',
- 'ye',
- 'yt',
- 'za',
- 'zm',
- 'zw'
- );
- $sub_domain = explode ( '.', $domain );
- $top_domain = '';
- $top_domain_count = 0;
- for($i = count ( $sub_domain ) - 1; $i >= 0; $i --) {
- if ($i == 0) {
- // just in case of something like NAME.COM
- break;
- }
- if (in_array ( $sub_domain [$i], $iana_root )) {
- $top_domain_count ++;
- $top_domain = '.' . $sub_domain [$i] . $top_domain;
- if ($top_domain_count >= 2) {
- break;
- }
- }
- }
- $top_domain = $sub_domain [count ( $sub_domain ) - $top_domain_count - 1] . $top_domain;
- return $top_domain;
- }
- echo top_domain("http://tools.phperz.com/");
- ?>
运行结果为:
希望本文所述对大家PHP程序设计有所帮助。
来源: http://www.phperz.com/article/17/0829/342959.html