PHP 7.4.24 Released!

Предопределённые константы

INTL_ICU_VERSION (string)
Текущая версия библиотеки ICU в виде чисел с точечными разделителями.
INTL_MAX_LOCALE_LEN (int)
Задаёт длину имени локали. Для PHP установлено равным 80. Имена локалей больше этого значения не принимаются.
IDNA_DEFAULT (int)
Запретить передачу неопределённых кодов символов в функции IDN и не проверять ввод на соответствие правилам доменных имён ASCII.
IDNA_ALLOW_UNASSIGNED (int)
Разрешить передачу неопределённых кодов символов в функции IDN
IDNA_USE_STD3_RULES (int)
Проверять ввод для функций IDN на соответствие правилам доменных имён ASCII.
IDNA_CHECK_BIDI (int)
Проверять, соответствует ли ввод правилам BiDi. Игнорируется в реализации IDNA2003, которая всегда производит эту проверку.
IDNA_CHECK_CONTEXTJ (int)
Проверять, соответствует ли ввод правилам CONTEXTJ. Игнорируется в реализации IDNA2003, так как эта проверка введена в IDNA2008.
IDNA_NONTRANSITIONAL_TO_ASCII (int)
Опция для несквозной обработки в idn_to_ascii(). Сквозная обработка активирована по умолчанию. Игнорируется в реализации IDNA2003.
IDNA_NONTRANSITIONAL_TO_UNICODE (int)
Опция для несквозной обработки в idn_to_utf8(). Сквозная обработка активирована по умолчанию. Игнорируется в реализации IDNA2003.
INTL_IDNA_VARIANT_2003 (int)
Использовать алгоритм IDNA 2003 в idn_to_utf8() и idn_to_ascii(). Задано по умолчанию. Эта константа и то, что она используется по умолчанию, объявлено устаревшим в PHP 7.2.0.
INTL_IDNA_VARIANT_UTS46 (int)
Использовать алгоритм UTS #46 в idn_to_utf8() и idn_to_ascii(). Доступно с ICU 4.6.
IDNA_ERROR_EMPTY_LABEL (int)
IDNA_ERROR_LABEL_TOO_LONG (int)
IDNA_ERROR_DOMAIN_NAME_TOO_LONG (int)
IDNA_ERROR_LEADING_HYPHEN (int)
IDNA_ERROR_TRAILING_HYPHEN (int)
IDNA_ERROR_HYPHEN_3_4 (int)
IDNA_ERROR_LEADING_COMBINING_MARK (int)
IDNA_ERROR_DISALLOWED (int)
IDNA_ERROR_PUNYCODE (int)
IDNA_ERROR_LABEL_HAS_DOT (int)
IDNA_ERROR_INVALID_ACE_LABEL (int)
IDNA_ERROR_BIDI (int)
IDNA_ERROR_CONTEXTJ (int)
При использовании алгоритма UTS #46 в idn_to_utf8() и idn_to_ascii(), ошибки возвращаются в виде побитовой маски.

add a note add a note

User Contributed Notes 1 note

up
3
PHP Guru
11 months ago
idn_to_ascii('faß.de');

will return fass.de
(Due to Germans using the ß symbol as a contraction of ss)

idn_to_ascii('faß.de', IDNA_NONTRANSITIONAL_TO_ASCII);

will return xn--fa-hia.de
(This is the correct behavior too allow faß.de and fass.de to be registered as different domain names.)

idn_to_utf8('xn--fa-hia.de');

will return fass.de

idn_to_utf8('xn--fa-hia.de', IDNA_NONTRANSITIONAL_TO_UNICODE);

will return faß.de
(Again this is the correct behavior.)
To Top