idn_to_ascii
(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|falseЭта функция преобразует доменное имя из 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 .
|
Примеры
Пример #1 Пример использования idn_to_ascii()
<?php
echo idn_to_ascii('täst.de');
?>
Результат выполнения данного примера:
xn--tst-qla.de