(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.2, PECL idn >= 0.1)
idn_to_ascii — Преобразовывает доменное имя в формат IDNA ASCII
Процедурный стиль
$domain
,$flags
= IDNA_DEFAULT
,$variant
= INTL_IDNA_VARIANT_UTS46
,&$idna_info
= null
Эта функция преобразовывает доменное имя из Unicode в IDNA ASCII.
domain
Имя для преобразования, должно быть в кодировке UTF-8.
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_*.
Доменное имя в представлении 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 . |
Пример #1 Пример использования idn_to_ascii()
<?php
echo idn_to_ascii('täst.de');
?>
Результат выполнения приведённого примера:
xn--tst-qla.de