[PHP] 空きドメイン検索・Whois情報取得用の関数

whois.php

<?php
/**
 * Whois情報検索 / 空きドメイン検索
 */

/**
 * トップレベル・ドメインとWhoisサーバーの配列(使用頻度の高いもの)
 * @param boolean $key_only キーの配列のみ取得する場合 true
 */
function getWhoisServers ($key = null, $key_only = false) {
	$arr = array(
		'.com'   => 'whois.verisign-grs.com', // 商用
		'.net'   => 'whois.verisign-grs.com', // ネットワーク用
		'.info'  => 'whois.afilias.info', // 情報サイト用
		'.mobi'  => 'whois.dotmobiregistry.net', // 携帯機器での利用を意識したサイト用
		'.org'   => 'whois.publicinterestregistry.net', // 非営利団体用
		'.biz'   => 'whois.neulevel.biz', // ビジネス用(商用目的限定)
		'.jp'    => 'whois.jprs.jp', // 日本
		'.co.jp' => 'whois.jprs.jp', // 日本企業用
		'.ne.jp' => 'whois.jprs.jp', // 日本
		'.or.jp' => 'whois.jprs.jp',
		'.ac.jp' => 'whois.jprs.jp',
		'.asia'  => 'whois.nic.asia', // アジア太平洋地域の企業専用
		// '.tv'    => 'tvwhois.verisign-grs.com', // ツバル whois.nic.tv
		// '.in'    => 'whois.inregistry.net', // インド
		// '.co.uk' => 'lb-dac.nominet.org.uk', // イギリス
		// '.org.uk'=> 'lb-dac.nominet.org.uk', // イギリス
		// '.cc'    => 'ccwhois.verisign-grs.com', // ココス諸島(オーストラリア領)
		// '.nu'    => 'whois.worldnames.net', // 二ウエ
		// '.us'    => 'whois.nic.us', // アメリカ
		// '.bz'    => 'bzwhois.verisign-grs.com', // ベリーズ
		// '.cx'    => 'whois.nic.cx', // クリスマス島
		// '.me'    => 'whois.meregistry.net', // モンテネグロ
		// '.ws'    => 'whois.worldsite.ws', // サモア
		// '.la'    => 'whois2.afilias-grs.net', // ラオス
		// '.co'    => 'whois.nic.co', // コロンビア
		// '.cn'    => 'whois.cnnic.net.cn', // 中国
	);

	if ($key_only === true) {
		return array_keys($arr);
	}

	return isset($arr[$key]) ? $arr[$key] : $arr;
}

/**
 * トップレベル・ドメインとWhoisサーバーの配列(使用頻度の低いものも含む)
 * ※ 参考URL:http://www.cman.jp/network/support/domain_list.html
 * ※ 正しくない可能性があるので、
 * SSHで「$ host -t a トップレベルドメイン.whois-servers.net」というコマンドを叩き、1ドメインづつ検証する必要あり。
 * @param boolean $key_only キーの配列のみ取得する場合 true
 */
function getWhoisServers2 ($key = null, $key_only = false) {
	$arr = array(
		'.aero' => 'whois.aero', // aerospace
		'.asia' =>	'whois.nic.asia', // asia アジア太平洋地域の企業専用
		'.biz' =>  'whois.neulevel.biz', //	business ビジネス用(商用目的限定)
		'.cat' => 'whois.cat', // catalunya カタルーニャ言語圏用
		'.com' => 'whois.verisign-grs.com', // commercial 商用
		'.coop' => 'whois.nic.coop', // cooperative 協同組合専用
		'.edu' => 'whois.educause.edu', //educational 教育機関用
		'.gov' => 'whois.dotgov.gov', //governmental 米国政府機関
		'.info' => 'whois.afilias.info', // information 情報サイト用
		'.int' => 'whois.iana.org', // international 国際機関用
		'.jobs' => 'jobswhois.verisign-grs.com', // job 人事管理業務関係者用
		// '.mil' => '', // military 米軍事機関用
		'.mobi' => 'whois.dotmobiregistry.net', // mobile 携帯機器での利用を意識したサイト用
		'.museum' => 'whois.museum', //	museum 博物館用(博物館・美術館専用)
		'.name' => 'whois.nic.name', // name 個人名用(非商用限定)
		'.net' => 'whois.verisign-grs.com', // network ネットワーク用
		'.org' => 'whois.publicinterestregistry.net', // organization 非営利団体用
		'.pro' => 'whois.registrypro.pro', // professional 専門職用(医師・弁護士・会計士等専用)
		'.tel' => 'whois.nic.tel', // telephone IPベースの電話番号用
		'.travel' => 'whois.nic.travel', // travel 旅行業界専用
		'.arpa' => 'whois.iana.org', // ARPAnet インターネットインフラ用
		'.ac' => 'whois.nic.ac', // Ascension Island アセンション島(英領)
		// '.ad' => '', // Andorra アンドラ
		'.ae' => 'whois.aeda.net.ae', // United Arab Emirates アラブ首長国連邦
		// '.af' => '', // Afghanistan アフガニスタン
		'.ag' => 'whois2.afilias-grs.net', // Antigua and Barbuda アンティグア・バーブーダ
		'.ai' => 'whois.ai', // Anguilla アンギラ(英領)
		// '.al' => '', // Albania アルバニア
		'.am' => 'whois.amnic.net', //Armenia アルメニア
		// '.an' => '', // Netherlands Antilles オランダ領アンティル
		// '.ao' => '', // Angola アンゴラ
		// '.aq' => '', // Antarctica 南極
		// '.ar' => '', // Argentina アルゼンチン
		'.as' => 'whois.nic.as', // American Samoa アメリカ領サモア
		'.at' => 'whois.nic.at', // Austria オーストリア
		'.au' => 'whois.audns.net.au', // Australia オーストラリア
		// '.aw' => '', // Aruba アルバ(オランダ領)
		// '.ax' => '', // Aland Islands オーランド諸島(スウェーデン自治領)
		// '.az' => '', // Azerbaijan アゼルバイジャン
		// '.ba' => '', // Bosnia and Herzegovina ボスニア・ヘルツェゴビナ
		// '.bb' => '', // Barbados バルバドス
		// '.bd' => '', // Bangladesh バングラデシュ
		'.be' => 'whois.dns.be', // Belgium ベルギー
		'.bf' => '', // Burkina Faso ブルキナファソ
		'.bg' => 'whois.register.bg', // Bulgaria ブルガリア
		// '.bh' => '', // Bahrain バーレーン
		// '.bi' => '', // Burundi ブルンジ
		// '.bj' => 'whois.nic.bj', // Benin ベナン
		// '.bl' => '', // Saint Barthelemy サン・バルテルミー島(仏領)
		// '.bm' => '', // Bermuda バミューダ(英領)
		// '.bn' => '', // Brunei Darussalam ブルネイ
		// '.bo' => 'whois.nic.bo', // Bolivia ボリビア
		'.br' => 'whois.registro.br', // Brazil ブラジル
		// '.bs' => '', // Bahamas バハマ
		// '.bt' => '', // Bhutan ブータン
		// '.bv' => '', // Bouvet Island ブーベ島(ノルウェー領)
		// '.bw' => '', // Botswana ボツワナ
		// '.by' => '', // Belarus ベラルーシ
		'.bz' => 'bzwhois.verisign-grs.com', // Belize ベリーズ
		'.ca' => 'whois.cira.ca', // Canada カナダ
		'.cc' => 'ccwhois.verisign-grs.com', // Cocos (keeling) Islands ココス諸島(オーストラリア領)
		// '.cd' => '', // Congo コンゴ民主共和国(旧ザイール)
		// '.cf' => '', // Central African Republic 中央アフリカ共和国
		// '.cg' => '', // Congo コンゴ
		'.ch' => 'whois.nic.ch', // Switzerland スイス
		'.ci' => 'whois.nic.ci', // Cote d'Ivoire コートジボワール
		// '.ck' => '', // Cook Islands クック諸島(ニュージーランド自治領)
		'.cl' => 'whois.nic.cl', // Chile チリ
		// '.cm' => '', // Cameroon カメルーン
		'.cn' => 'whois.cnnic.net.cn', // China 中国
		'.co' => 'whois.nic.co', // Colombia コロンビア
		// '.cr' => '', // Costa Rica コスタリカ
		// 廃止'.cs' => '', // Czechoslovakia (former - non-existing) 旧チェコスロバキア
		// '.cu' => '', // Cuba キューバ
		// '.cv' => '', // Cape Verde カボベルデ
		'.cx' => 'whois.nic.cx', // Christmas Island クリスマス島(オーストラリア領)
		// '.cy' => '', // Cyprus キプロス
		'.cz' => 'whois.nic.cz', // Czech Republic チェコ共和国
		'.de' => 'whois.denic.de', // Germany ドイツ
		// '.dj' => '', // Djibouti ジブチ
		'.dk' => 'whois.dk-hostmaster.dk', // Denmark デンマーク
		'.dm' => 'whois.nic.dm', // Dominica ドミニカ
		// '.do' => '', // Dominican Republic ドミニカ共和国
		// '.dz' => '', // Algeria アルジェリア
		'.ec' => 'whois.nic.ec', // Ecuador エクアドル
		'.ee' => 'whois.eenet.ee', // Estonia エストニア
		// '.eg' => '', // Egypt エジプト
		// '.eh' => '', // Western Sahara 西サハラ
		// '.er' => '', // Eritrea エリトリア
		// '.es' => '', // Spain スペイン
		// '.et' => '', // Ethiopia エチオピア
		'.eu' => 'whois.eu', // European Union ヨーロッパ連合
		'.fi' => 'whois.ficora.fi', // Finland フィンランド
		// '.fj' => '', // Fiji フィジー
		// '.fk' => '', // Falkland Islands (Malvinas) フォークランド諸島
		// '.fm' => '', // Micronesia ミクロネシア(米自由連合)
		// '.fo' => '', // Faroe Islands フェロー諸島(デンマーク領)
		'.fr' => 'whois.nic.fr', // France フランス
		// 廃止 '.fx' => '', // France_ Metropolitan フランス(本国)
		// '.ga' => '', // Gabon ガボン
		// '.gb' => '', // United Kingdom イギリス(グレートブリテン)
		'.gd' => 'whois.adamsnames.com', // Grenada グレナダ
		// '.ge' => '', // Georgia グルジア
		// '.gf' => '', // French Guiana フランス領ギアナ
		'.gg' => 'whois.gg', // Guernsey ガーンジー島
		// '.gh' => '', // Ghana ガーナ
		'.gi' => 'whois2.afilias-grs.net', // Gibraltar ジブラルタル
		'.gl' => 'whois.nic.gl', // Greenland グリーンランド
		// '.gm' => '', // Gambia ガンビア
		// '.gn' => '', // Guinea ギニア
		// '.gp' => '', // Guadeloupe グアドループ
		// '.gq' => '', // Equatorial Guinea 赤道ギニア
		// '.gr' => '', // Greece ギリシア
		'.gs' => 'whois.nic.gs', // South Georgia and the South Sandwich Islands サウスジョージア島・サウスサンドイッチ島(英領)
		// '.gt' => '', // Guatemala グアテマラ
		// '.gu' => '', // Guam グアム
		// '.gw' => '', // Guinea-Bissau ギニアビサオ
		'.gy' => 'whois.registry.gy', // Guyana ガイアナ
		'.hk' => 'whois.hkirc.hk', // Hong Kong 香港
		// '.hm' => '', // Heard Island and McDonald Islands ハード・マクドナルド諸島
		'.hn' => 'whois2.afilias-grs.net', // Honduras ホンジュラス
		// '.hr' => '', // Croatia クロアチア
		'.ht' => 'whois.nic.ht', // Haiti ハイチ
		// '.hu' => '', // Hungary ハンガリー
		// '.id' => '', // Indonesia インドネシア
		'.ie' => 'whois.domainregistry.ie', // Ireland アイルランド
		'.il' => 'whois.isoc.org.il', // Israel イスラエル
		'.im' => 'whois.nic.im', // Isle of Man マン島
		'.in' => 'whois.inregistry.net', // India インド
		'.io' => 'whois.nic.io', // British Indian Ocean Territory イギリスインド洋地域
		// '.iq' => '', // Iraq イラク
		'.ir' => 'whois.nic.ir', // Iran イラン
		'.is' => 'whois.isnic.is', // Iceland アイスランド
		'.it' => 'whois.nic.it', // Italy イタリア
		'.je' => 'whois.je', // Jersey ジャージー島
		// '.jm' => '', // Jamaica ジャマイカ
		// '.jo' => '', // Jordan ヨルダン
		'.jp' => 'whois.jprs.jp', // Japan 日本
		'.ke' => 'whois.kenic.or.ke', // Kenya ケニア
		// '.kg' => '', // Kyrgyzstan キルギスタン
		// '.kh' => '', // Cambodia カンボジア
		'.ki' => 'whois.nic.ki', // Kiribati キリバス
		// '.km' => '', // Comoros コモロ
		// '.kn' => '', // Saint Kitts and Nevis セントクリストファー・ネイビス
		'.kp' => 'whois.kcce.kp', // Korea 北朝鮮
		'.kr' => 'whois.nic.or.kr', // Korea 韓国
		// '.kw' => '', // Kuwait クウェート
		// '.ky' => '', // Cayman Islands ケイマン諸島(英領)
		'.kz' => 'whois.nic.kz', // Kazakhstan カザフスタン
		'.la' => 'whois2.afilias-grs.net', // Lao People's Democratic Republic ラオス人民民主共和国
		// '.lb' => '', // Lebanon レバノン
		// '.lc' => '', // Saint Lucia セントルシア
		'.li' => 'whois.nic.li', // Liechtenstein リヒテンシュタイン
		// '.lk' => '', // Sri Lanka スリランカ
		// '.lr' => '', // Liberia リベリア
		// '.ls' => '', // Lesotho レソト
		'.lt' => 'whois.domreg.lt', // Lithuania リトアニア
		'.lu' => 'whois.dns.lu', // Luxembourg ルクセンブルク
		'.lv' => 'whois.nic.lv', // Latvia ラトビア
		'.ly' => 'whois.nic.ly', // Libyan Arab Jamahiriya リビア
		'.ma' => 'whois.iam.net.ma', // Morocco モロッコ
		// '.mc' => '', // Monaco モナコ
		'.md' => 'whois.nic.md', // Moldova, Republic of モルドバ
		'.me' => 'whois.meregistry.net', // Montenegro モンテネグロ
		// '.mf' => '', // Saint Martin セント・マーチン島
		'.mg' => 'whois.nic.mg', // Madagascar マダガスカル
		// '.mh' => '', // Marshall Islands マーシャル諸島
		// '.mk' => '', // Macedonia, The Former Yugoslav Republic of マケドニア(旧ユーゴスラビア共和国)
		// '.ml' => '', // Mali マリ
		// '.mm' => '', // Myanmar ミャンマー
		'.mn' => 'whois.nic.mn', // Mongolia モンゴル
		// '.mo' => '', // Macao マカオ
		'.mp' => 'whois.nic.mp', // Northern Mariana Islands 北マリアナ諸島
		// '.mq' => '', // Martinique マルティニーク(仏海外県)
		// '.mr' => '', // Mauritania モーリタニア
		'.ms' => 'whois.nic.ms', // Montserrat モントセラト(英領)
		// '.mt' => '', // Malta マルタ
		'.mu' => 'whois.nic.mu', // Mauritius モーリシャス
		// '.mv' => '', // Maldives モルディブ
		// '.mw' => '', // Malawi マラウイ
		'.mx' => 'whois.mx', // Mexico メキシコ
		'.my' => 'whois.domainregistry.my', // Malaysia マレーシア
		// '.mz' => '', // Mozambique モザンビーク
		'.na' => 'whois.na-nic.com.na', // Namibia ナミビア
		// '.nc' => '', // New Caledonia ニューカレドニア(仏領)
		// '.ne' => '', // Niger ニジェール
		// '.nf' => '', // Norfolk Island ノーフォーク島(オーストラリア領)
		'.ng' => 'whois.nic.net.ng', // Nigeria ナイジェリア
		// '.ni' => '', // Nicaragua ニカラグア
		'.nl' => 'whois.domain-registry.nl', // Netherlands オランダ
		'.no' => 'whois.norid.no', // Norway ノルウェー
		// '.np' => '', // Nepal ネパール
		// '.nr' => '', // Nauru ナウル
		'.nu' => 'whois.worldnames.net', // Niue ニウエ
		'.nz' => 'whois.srs.net.nz', // New Zealand ニュージーランド
		// '.om' => '', // Oman オマーン
		// '.pa' => '', // Panama パナマ
		'.pe' => 'kero.yachay.pe', // Peru ペルー
		// '.pf' => '', // French Polynesia フランス領ポリネシア
		// '.pg' => '', // Papua New Guinea パプアニューギニア
		// '.ph' => '', // Philippines フィリピン
		// '.pk' => '', // Pakistan パキスタン
		'.pl' => 'whois.dns.pl', // Poland ポーランド
		'.pm' => 'whois.nic.pm', // Saint Pierre and Miquelon サンピエール島・ミクロン島(仏海外領土)
		// '.pn' => '', // Pitcairn ピトケアン諸島(英領)
		'.pr' => 'whois.nic.pr', // Puerto Rico プエルトリコ
		// '.ps' => '', // Palestinian Territory, Occupied パレスチナ
		'.pt' => 'whois.dns.pt', // Portugal ポルトガル
		// '.pw' => '', // Palau パラオ
		// '.py' => '', // Paraguay パラグアイ
		// '.qa' => '', // Qatar カタール
		'.re' => 'whois.nic.re', // Reunion レユニオン(仏海外県)
		'.ro' => 'whois.rotld.ro', // Romania ルーマニア
		// '.rs' => '', // Serbia セルビア共和国
		'.ru' => 'whois.ripn.net', // Russian Federation ロシア連邦
		// '.rw' => '', // Rwanda ルワンダ
		'.sa' => 'whois.nic.net.sa', // Saudi Arabia サウジアラビア
		'.sb' => 'whois.nic.net.sb', // Solomon Islands ソロモン諸島
		'.sc' => 'whois2.afilias-grs.net', // Seychelles セーシェル
		// '.sd' => '', // Sudan スーダン
		'.se' => 'whois01.prod.iis.se', // Sweden スウェーデン
		'.sg' => 'eos.nic.net.sg', // Singapore シンガポール
		'.sh' => 'whois.nic.sh', // Saint Helena セントヘレナ(英海外領土)
		'.si' => 'whois.arnes.si', // Slovenia スロベニア
		// '.sj' => '', // Svalbard and Jan Mayen スバールバル諸島・ヤンマイエン島(ノルウェー領)
		'.sk' => 'whois.sk-nic.sk', // Slovakia スロバキア
		// '.sl' => '', // Sierra Leone シエラレオネ
		'.sm' => 'whois.ripe.net', // San Marino サンマリノ
		'.sn' => 'whois.nic.sn', // Senegal セネガル
		'.so' => 'whois.nic.so', // Somalia ソマリア
		// '.sr' => '', // Suriname スリナム
		'.st' => 'whois.nic.st', // Sao Tome and Principe サントメ・プリンシペ
		// '.su' => '', // Soviet Union ソビエト連邦
		// '.sv' => '', // El Salvador エルサルバドル
		// '.sy' => '', // Syrian Arab Republic シリア
		// '.sz' => '', // Swaziland スワジランド
		'.tc' => 'whois.adamsnames.tc', // Turks and Caicos Islands タークス・カイコス諸島(英領)
		// '.td' => '', // Chad チャド
		'.tf' => 'whois.nic.tf', // French Southern Territories フランス領南方・南極地域
		// '.tg' => '', // Togo トーゴ
		'.th' => 'whois.thnic.co.th', // Thailand タイ
		// '.tj' => '', // Tajikistan タジキスタン
		'.tk' => 'whois.dot.tk', // Tokelau トケラウ(ニュージーランド領)
		'.tl' => 'whois.nic.tl', // Timor-Leste 東ティモール
		'.tm' => 'whois.nic.tm', // Turkmenistan トルクメニスタン
		// '.tn' => '', // Tunisia チュニジア
		'.to' => 'whois.tonic.to', // Tonga トンガ
		// '.tp' => '', // Portuguese Timor ポルトガル領ティモール
		'.tr' => 'whois.nic.tr', // Turkey トルコ
		// '.tt' => '', // Trinidad and Tobago トリニダード・トバゴ
		'.tv' => 'tvwhois.verisign-grs.com', // Tuvalu ツバル
		'.tw' => 'whois.twnic.net.tw', // Taiwan 台湾
		// '.tz' => '', // Tanzania, United Republic of タンザニア
		'.ua' => 'whois.ua', // Ukraine ウクライナ
		'.ug' => 'whois.co.ug', // Uganda ウガンダ
		'.uk' => 'whois.nic.uk', // United Kingdom 英国
		// '.um' => '', // United States Minor Outlying Islands アメリカ領太平洋諸島
		'.us' => 'whois.nic.us', // United States アメリカ合衆国
		'.uy' => 'whois.nic.org.uy', // Uruguay ウルグアイ
		'.uz' => 'whois.cctld.uz', // Uzbekistan ウズベキスタン
		// '.va' => '', // Holy See (Vatican City State) バチカン市国
		'.vc' => 'whois2.afilias-grs.net', // Saint Vincent and the Grenadines セントビンセントおよびグレナディーン諸島
		'.ve' => 'whois.nic.ve', // Venezuela ベネズエラ
		'.vg' => 'whois.adamsnames.tc', // Virgin Islands, British バージン諸島(英領)
		// '.vi' => '', // Virgin Islands, U.S. バージン諸島(米領)
		// '.vn' => '', // Viet Nam ベトナム
		// '.vu' => '', // Vanuatu バヌアツ
		'.wf' => 'whois.nic.wf', // Wallis and Futuna ウォリス・フツナ(仏領)
		'.ws' => 'whois.worldsite.ws', // Samoa サモア
		// '.ye' => '', // Yemen イエメン
		'.yt' => 'whois.nic.yt', // Mayotte マヨット島
		// '.yu' => '', // Yugoslavia (being phased out) ユーゴスラビア
		// '.za' => '', // South Africa 南アフリカ
		// '.zm' => '', // Zambia ザンビア
		// 廃止 // '.zr' => '', //Zaire (non-existent, see Congo) ザイール
		// '.zw' => '', // Zimbabwe ジンバブエ
		'.ac.uk' => 'whois.ja.net', // United Kingdom 英国(大学関係)
		'.ac.za' => 'whois.ac.za', //

		'.ae.org' => 'whois.centralnic.net',
		'.asn.au' => 'whois.ausregistry.net.au',
		'.br.com' => 'whois.centralnic.net', // global domains (Brazil) グローバルドメイン(ブラジル)
		'.cn.com' => 'whois.centralnic.net', // global domains (China) グローバルドメイン(中国)
		'.co.za' => 'whois.co.za', // South Africa 南アフリカ
		'.com.au' => 'whois.ausregistry.net.au', // Australia オーストラリア(企業)
		'.com.uy' => 'dns.antel.net.uy', //
		'.de.com' => 'whois.centralnic.net', // global domains (Germany) グローバルドメイン(ドイツ)
		'.edu.cn' => 'whois.edu.cn', //
		'.eu.com' => 'whois.centralnic.net', // global domains (European Union) グローバルドメイン(ヨーロッパ)
		'.eu.org' => 'whois.eu.org', //
		'.fed.us' => 'whois.nic.gov', //
		'.gb.com' => 'whois.nomination.net', // global domains (Great Britain) グローバルドメイン(英国)
		'.gb.net' => 'whois.nomination.net', // global domains (Great Britain) グローバルドメイン(英国)
		'.gov.uk' => 'whois.ja.net', // United Kingdom 英国(政府関係)
		'.hu.com' => 'whois.centralnic.net', // global domains (Hungary) グローバルドメイン(ハンガリー)
		'.id.au' => 'whois.ausregistry.net.au', // Australia オーストラリア(個人等)
		'.jpn.com' => 'whois.centralnic.net', // global domains (Japan) グローバルドメイン(日本)
		'.kr.com' => 'whois.centralnic.net', // global domains (Korea, Republic of) グローバルドメイン(韓国)
		'.net.au' => 'whois.ausregistry.net.au', //
		'.no.com' => 'whois.centralnic.net', // global domains (Norway) グローバルドメイン(ノルウェー)
		'.org.au' => 'whois.ausregistry.net.au', // Australia オーストラリア(非営利団体)
		'.org.za' => 'whois.org.za', //  	:'
		'.qc.com' => 'whois.centralnic.net', // global domains (Quebec) グローバルドメイン(ケベック)
		'.ru.com' => 'whois.centralnic.net', // global domains (Russian Federation) グローバルドメイン(ロシア)
		'.sa.com' => 'whois.centralnic.net', // global domains (Saudi Arabia) グローバルドメイン(サウジアラビア)
		'.se.com' => 'whois.centralnic.net', // global domains (Sweden) グローバルドメイン(スウェーデン)
		'.se.net' => 'whois.centralnic.net', // global domains (Sweden) グローバルドメイン(スウェーデン)
		'.uk.com' => 'whois.centralnic.net', // global domains (United Kingdom) グローバルドメイン(英国)
		'.uk.net' => 'whois.centralnic.net', // global domains (United Kingdom) グローバルドメイン(英国)
		'.us.com' => 'whois.centralnic.net', // global domains (United States) グローバルドメイン(アメリカ合衆国)
		'.uy.com' => 'whois.centralnic.net', // global domains (Uruguay) グローバルドメイン(ウルグアイ)
		'.web.com' => 'whois.tucows.com', // tucows
		'.za.com' => 'whois.centralnic.net', // global domains (South Africa) グローバルドメイン(南アメリカ)
	);
	if ($key_only === true) {
		return array_keys($arr);
	}
	return isset($arr[$key]) ? $arr[$key] : $arr;
}

/**
 * ドメイン等の値を整形する関数
 */
function convertWhoisDomain ($val) {
	$val = trim($val); //前後の半角スペースがある場合 削除
	$val = str_replace(array('ー','ー'),array('-','-'), $val); //長音記号がある場合ハイフンに置換、アンダースコアは削除
	$val = strtolower($val);
	$val = mb_convert_kana($val,'a'); //全角英数字がある場合 半角に変換
	return $val;
}

/**
 * 自動的に検出するエンコーディング
 */
function getWhoisEncodings ($type) {
	switch ($type) {
		case 'string':
			$encodings = 'ASCII, JIS, UTF-8, EUC-JP, SJIS, ISO-2022-JP';
			break;
		case 'array':
			$encodings = array('UTF-8',  'JIS', 'EUC-JP', 'SJIS');
	}
	return $encodings;
}
HatenaGoogle BookmarksYahoo BookmarksFacebook

コメントする

*