(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.2, PECL idn >= 0.1)
idn_to_ascii — Преобразовать доменное имя в формат IDNA ASCII
Процедурный стиль
$domain
[, int $options
= IDNA_DEFAULT
[, int $variant
= INTL_IDNA_VARIANT_UTS46
[, array &$idna_info
]]] ) : stringЭта функция преобразует доменное имя из Unicode в IDNA ASCII.
domain
Имя для преобразования, должно быть в кодировке UTF-8.
options
Опции преобразования - комбинация констант 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_*.
Доменное имя в представлении ASCII, или FALSE
в случае возникновения ошибки
Версия | Описание |
---|---|
7.4.0 |
Теперь значение по умолчанию variant изменено на
INTL_IDNA_VARIANT_UTS46 вместо устаревшей константы
INTL_IDNA_VARIANT_2003 .
|
7.2.0 |
INTL_IDNA_VARIANT_2003 объявлена устаревшей, вместо нее
используйте INTL_IDNA_VARIANT_UTS46 .
|
5.4.0/PECL 2.0.0b1 |
Добавлены параметры variant и
idna_info ; поддержка UTS #46 (требуется ICU ≥ 4.6).
|
Пример #1 Пример использования idn_to_ascii()
<?php
echo idn_to_ascii('täst.de');
?>
Результат выполнения данного примера:
xn--tst-qla.de