Класс punycode на PHP

  • Не нравится
  • +5
  • Нравится
Этот класс будет полезный в первую очередь тем, кто держит хостинг-"компании" :) и поддержку регистрации доменов в кириллистической кодировке.

Вот есть небольшой класс который переводит названия доменов.

К счастью ничего супер сложного писать не придется, все что нам нужно сделать, это скачать уже готовый класс IDNA Convert и написать пару строк php кода:


require_once( "idna_convert.class.php");  //  Подключаем  класс
$IDN  =  new  idna_convert();
$domain  =  "настя.pp.ua";
$input  =  $IDN- amp;>encode($domain);
echo  $input;


После выполнения скрипта получим punycode этого домена xn--80azne9d.pp.ua

Важно!



Домен, который мы кодируем в punycode обязательно должен быть в UTF-8.

И еще...



Если домен указали латинскими буквами, т.е. если он не IDN, то скрипт просто оставит домен в таком же виде в котором и был. А если IDN, то преобразуется в punycode.

Термины


IDN - это доменные имена, которые содержат символы национальных алфавитов Punycode — стандартизированный метод преобразования последовательностей Unicode-символов в так называемые ACE-последовательности, которые состоят только из алфавитно-цифровых символов, как это разрешено в доменных именах. Punycode был разработан для однозначного преобразования доменных имен в последовательность ASCII-символов.

Пример в правом блоке. Ссылка Домен в punycode

idna_convert.class.rar [16.29 Kb] (cкачиваний: 414)

Коментарии