Всех друзей поздравляем с Новым годом! Всего вам самого наилучшего! Всех благ, здоровья а материальное приложится!
СКРИПТЫ althtmlcssphpjsblog

Кириллический адрес кодирование декодирование

Поддержи проект!!!

Мы столкнулись с кириллическим адресом и вдруг... у нас возникли проблемы. Я конечно, краем уха слышал об этом, ну вот и они докатились до меня!

Сперва давайте коснемся немного теории, и первое, что хочется сказать, что ничего внятного я так и не смог найти, где четко было бы сказано, как формируются кириллические адреса и вообще, как это работает!

Нам не столь это важно, но тем не менее, что удалось мне понять из всего прочитанного и как я понял, как это работает. Человек выбирает кириллический адрес «admin@домен.рф» и система его кодирует в соответствующий адрес на латинице и это получится -  «admin@xn--d1acufc.xn--p1ai»

Это называется – punycode - стандартизированный метод преобразования последовательностей Unicode-символов.

Если по-русски, то преобразование кириллического адреса в адрес латинскими буквами – не путать с транслитерацией!

Как преобразовать кириллический адрес в нормальный и обратно!?

Далее эта ссылка уже есть, но здесь она точно должна быть, как пример того, как можно преобразовать кириллический адрес в punycode

В общих словах с теорией разобрались, теперь приступим к самому преобразованию, чтобы не мучатся назовем это функцией punycode.

Как работает преобразование punycode и встроить на сайт

Теперь нам нужно либо найти, либо написать самостоятельно скрипт кодирования и декодирования в punycode. В интернете уже есть готовые и решения поэтому, мы возьмем его и переделаем его под наши потребности.

Вот наш код:

<?php

require_once('idna_convert.class.php');

$idn = new idna_convert(array('idn_version'=>2008));

$punycode=(stripos($punycode, 'xn--')!==false) ? $idn->decode($punycode) : $idn->encode($punycode);

echo $punycode;

?>

И нам нужен дополнительный файл - idna_convert.class.php - скачать как обычно в конце страницы

Извлекаем архив, бросаем в ту же папку, где и будет файл с выше указанным файлом и у вас должно получиться вот так.

Ну и дальше применить по своему усмотрению очень просто. Прогоняете переменную, в которой находится ваш адрес чрез функцию punycode и получаете результат.

P.S

Пример кириллического адреса

Удивительно! Но по нескольким сайтам прошелся, но нигде не увидел конкретного примера кириллического адреса, который не прошел кодирование

Поэтому вот здесь приведем пример кириллического адреса без кодирования:

http://xn--80arbjktj.xn--p1ai/

А реальный адрес:

http://мойсайт.рф/

Вас может еще заинтересовать список тем : #PHP |
Последняя дата редактирования : 2020-01-24 04:16
Название скрипта :Кириллический адрес кодирование декодирование(Punycode ))
Скрипт № 93.4
Пример
Ссылка на скачивание : Все скрипты на одной странице
//dwweb.ru/comments_1_5/include/img/hand_no_foto.png
no
no
Еще никто не прокомментировал! COMMENTS+   BBcode
аватар
🞨
Загрузить свой аватар
(max ширина, высота = 200px)

Подписаться + =
Теги:
кодирование русский адресдекодирование русский адреспример декодирования кириллических адресовдекодировать кириллический адрес в нормальныйкак преобразовать кириллический адрес использование punycode

Последние комментарии :
Марат :
27/10/2020 10:32
Всё можно, только нужно задаться…
подробнее.
grek :
26/10/2020 08:29
А вперемешку английские и русские буквы как тут https://адрес скрыт…
подробнее.
Марат :
23/10/2020 01:15
Посмотрел... количество возможных знаков 3... почему у вас не получилось увидеть 2...…
подробнее.
Марат :
23/10/2020 01:05
Да! Тоже исправим...А с ссылкой... вроде бы исправлял... совсем недавно...сейчас проверю в чем там…
подробнее.
Марат :
23/10/2020 01:03
Спасибо за внимательность!1). Исправлено!2). Что-то я сразу не понял, о каком подтверждении идет речь!?О любых…
подробнее.