さて、ドメイン名をエンコード/デコードするために、idna_convert PHP クラス ( http://idnaconv.net/index.html ) を使用します。
残念ながら、ドメイン名がすでにpunycodeかどうかをチェックするインターフェースを提供していないようです。
これを達成するための最良の方法は何ですか?ドメインが punycode であるかどうかを確認する方法のソース コードを誰かが投稿できればいいと思います (idna_convert コードは私にはあまり明確ではないため、説明付きで)。idna_convert から例外をキャッチする方法は既に知っています。:-)
ところで: idna_convert は、既に punycode であるドメイン名を punycode に変換しようとすると例外をスローします ( https://github.com/phlylabs/idna-convert/blob/master/src/Punycode.php ; 157 行目を参照)。 . さらに、彼らのチェックがどのように機能するのかよくわかりません。