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