GeekBox

IT系エンジニアの雑記

【PHP】IDN関数について

スポンサーリンク

IDN関数を使うにはintlモジュールのインストールが必要で、PHP5.3.0以降であれば同梱されているっぽい。

CentOS6での確認方法とインストール方法

<モジュールの確認> php -m | grep intl

<インストール方法> yum install php-intl

IDNとは何かというと

国際化ドメイン名 Internationalized Domain Name ドメイン名にアルファベットや数字以外の文字を使える仕組み。 例えば以下のようなものなど。 [ ホゲホゲ.com ]

また、IDNの実現のために使われる技術や処理手順を規定したものを IDNA(Internationalizing Domain Name in Application) と呼ぶ。

以下のサイトに詳しいことが書いてある。

国際化ドメイン名 - JPNIC https://www.nic.ad.jp/ja/dom/idn.html

関数と使い方

intlモジュールをいれると以下の関数が使えるようになる。 ・idn_to_ascii ドメイン名をIDNAのASCII形式へ変換 ・idn_to_utf8 IDNAのASCII形式でエンコードされたドメイン名をUnicodeへ変換

echo idn_to_ascii('ホゲホゲ.com ');
=>xn--zckzah.com

xn--zckzah.com
echo idn_to_utf8('xn--zckzah.com ');
=> ホゲホゲ.com