(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.2, PECL idn >= 0.1)
idn_to_utf8 — Преобразование доменного имени из IDNA ASCII в Unicode
Процедурный стиль
$domain,$flags = IDNA_DEFAULT,$variant = INTL_IDNA_VARIANT_UTS46,&$idna_info = nullЭта функция преобразовывает доменные имена из формата IDNA ASCII в Unicode, в кодировке UTF-8.
domainДоменное имя в формате IDNA ASCII.
flagsОпции преобразования - комбинация констант IDNA_* (кроме констант IDNA_ERROR_*).
variant
INTL_IDNA_VARIANT_2003 (объявлена устаревшей начиная с PHP 7.2.0) для IDNA 2003 или
INTL_IDNA_VARIANT_UTS46 (доступна только с ICU 4.6) для UTS #46.
idna_info
Этот параметр используется только если используется
INTL_IDNA_VARIANT_UTS46 в
variant. В этом случае он будет заполнен
массивом с ключами 'result', возможными ошибочными
результатами преобразования, 'isTransitionalDifferent',
логическое выражение означает изменило или могло бы изменить результат
при использовании сквозного механизма UTS #46, и 'errors',
содержащими целочисленное представление битовой маски из констант
IDNA_ERROR_*.
Возвращает доменное имя, перекодированное из кодировки Unicode в кодировку UTF-8, или false, если возникла ошибка.
| Версия | Описание |
|---|---|
| 7.4.0 |
Теперь значение по умолчанию variant изменено на
INTL_IDNA_VARIANT_UTS46 вместо устаревшей константы
INTL_IDNA_VARIANT_2003.
|
| 7.2.0 |
INTL_IDNA_VARIANT_2003 объявлена устаревшей, вместо неё
используйте INTL_IDNA_VARIANT_UTS46.
|
Пример #1 Пример использования idn_to_utf8()
<?php
echo idn_to_utf8('xn--tst-qla.de');
?>Результат выполнения приведённого примера:
täst.de