Скрипт на PHP конвертации доменов в/из Punycode

PHP
скрипт punycode
Скрипт предназначен для преобразования русских доменных имён (или другой строки) в кодировку Punycode, которая используется в многоязычной системе доменных имён. Возможно прямое и обратное преобразование.

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

Допустим, Вы зарегистрировали домен на русском языке: злой.рф Тогда данное доменное имя в различных представлениях будет выглядеть так:
IDN (Unicode): злой.рф
Punycode (ACE): xn--g1aefm.xn--p1ai

Пример реализации кода:


<?php
require_once('idna_convert.class.php');
$idn = new idna_convert(array('idn_version'=>2008));
$punycode=isset($_REQUEST['punycode']) ? stripslashes($_REQUEST['punycode']) : '';
$punycode=(stripos($punycode, 'xn--')!==false) ? $idn->decode($punycode) : $idn->encode($punycode);
?>

<table border="0" cellpadding="2" cellspacing="2" align="center">
<tr><td>
Конвертация в / из Punycode <br />
Конвертация интернациональных имен доменов (IDN) в кодировку Punycode и обратно.<br /><br />
</td></tr>
<tr><td><form action="" method="get">
<input type="text" id="punycode" name="punycode" value="<?php echo htmlentities($punycode, null, 'UTF-8'); ?>" maxlength="255" size="48" />  
<input type="submit" value="Перевод" />
</form></td></tr>
<tr><td>
Пример: <a href="index.php?punycode=злой.рф" onclick="document.getElementById('punycode').value='злой.рф';return false"><i>Сантехника72.рф</i></a>
</td></tr>
</table> 


Скачать -> idna_convert.class.zip

1 комментарий

avatar
Thank You For Your Share…

Оставить комментарий