International PHP Conference Berlin 2025

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

INTL_ICU_DATA_VERSION (string)
Версия данных в библиотеке ICU4C.
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.
GRAPHEME_EXTR_COUNT (int)
Количество кластеров графем по умолчанию для извлечения.
GRAPHEME_EXTR_MAXBYTES (int)
Максимальное количество возвращаемых байтов.
GRAPHEME_EXTR_MAXCHARS (int)
Максимальное количество возвращаемых UTF-8-символов.

Следующие ошибки — часть битовой маски, которую возвращает алгоритм UTS #46 в функциях idn_to_utf8() и idn_to_ascii().

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)
ULOC_ACTUAL_LOCALE (int)
Локаль, из которой фактически поступают данные.
ULOC_VALID_LOCALE (int)
Наиболее конкретная локаль, которую поддерживает библиотека ICU.
U_AMBIGUOUS_ALIAS_WARNING (int)
Этот псевдоним конвертера могут использовать другие реализации конвертера.
U_BAD_VARIABLE_DEFINITION (int)
Отсутствует символ $ или повторяется имя переменной.
U_BRK_ASSIGN_ERROR (int)
Синтаксическая ошибка в инструкции назначения правил RBBI-итератора прерывания.
U_BRK_ERROR_LIMIT (int)
Это всегда должно быть последнее значение, которое указывает предел сбоев итератора прерывания.
U_BRK_ERROR_START (int)
Начало кодов, которые указывают на сбои итератора прерывания.
U_BRK_HEX_DIGITS_EXPECTED (int)
Шестнадцатеричные цифры, которые ожидаются как часть экранированного символа в правиле.
U_BRK_INIT_ERROR (int)
Ошибка инициализации. Вероятно, отсутствуют ICU-данные.
U_BRK_INTERNAL_ERROR (int)
Модуль обнаружил внутреннюю ошибку (баг).
U_BRK_MALFORMED_RULE_TAG (int)
У тега {nnn} в правиле неправильная форма.
U_BRK_MISMATCHED_PAREN (int)
Неправильные круглые скобки в RBBI-правиле.
U_BRK_NEW_LINE_IN_QUOTED_STRING (int)
В RBBI-правиле отсутствует закрывающая кавычка.
U_BRK_RULE_EMPTY_SET (int)
Правило содержит пустой набор Юникода.
U_BRK_RULE_SYNTAX (int)
Синтаксическая ошибка в RBBI-правиле.
U_BRK_SEMICOLON_EXPECTED (int)
Отсутствует символ ; в конце RBBI-правила.
U_BRK_UNCLOSED_SET (int)
UnicodeSet записывает RBBI-правило без закрывающего символа ].
U_BRK_UNDEFINED_VARIABLE (int)
Использование неопределенного значения переменной $Variable в RBBI-правиле.
U_BRK_UNRECOGNIZED_OPTION (int)
Модуль не распознал опцию в RBBI-правилах.
U_BRK_VARIABLE_REDFINITION (int)
Переопределена переменная RBBI-правила.
U_BUFFER_OVERFLOW_ERROR (int)
Результат не поместился в предоставленный буфер.
U_CE_NOT_FOUND_ERROR (int)
Пока константа используется только при настройке ICU-параметра по умолчанию [variable top], но может использоваться в целом.
U_COLLATOR_VERSION_MISMATCH (int)
Версия класса Collator несовместима с базовой версией.
U_DIFFERENT_UCA_VERSION (int)
Функция ucol_open обнаружила несоответствие между версией алгоритма сопоставления Юникода (UCA) и версией изображения колатора, поэтому колатор был построен на основе правил. Константа не влияет на дальнейшее функционирование.
U_ENUM_OUT_OF_SYNC_ERROR (int)
Экземпляр объекта перечисления UEnumeration не синхронизирован с базовой коллекцией.
U_ERROR_LIMIT (int)
Псевдоним константы U_PLUGIN_ERROR_LIMIT.
U_ERROR_WARNING_LIMIT (int)
Это всегда должно быть последнее значение предупреждения, которое указывает ограничение для предупреждений экземпляра UErrorCode (код последнего предупреждения + 1).
U_ERROR_WARNING_START (int)
Начало информационных результатов (семантически успешное).
U_FILE_ACCESS_ERROR (int)
Запрошенный файл не найден.
U_FMT_PARSE_ERROR_LIMIT (int)
Ограничение ошибок библиотеки форматов.
U_FMT_PARSE_ERROR_START (int)
Запуск ошибок библиотеки форматов.
U_IDNA_ACE_PREFIX_ERROR (int)
U_IDNA_CHECK_BIDI_ERROR (int)
U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR (int)
U_IDNA_ERROR_LIMIT (int)
U_IDNA_ERROR_START (int)
U_IDNA_LABEL_TOO_LONG_ERROR (int)
U_IDNA_PROHIBITED_ERROR (int)
U_IDNA_STD3_ASCII_RULES_ERROR (int)
U_IDNA_UNASSIGNED_ERROR (int)
U_IDNA_VERIFICATION_ERROR (int)
U_IDNA_ZERO_LENGTH_LABEL_ERROR (int)
U_ILLEGAL_ARGUMENT_ERROR (int)
Указывает неверное значение аргумента.
U_ILLEGAL_CHAR_FOUND (int)
Преобразование символов: недопустимая последовательность ввода.
U_ILLEGAL_CHAR_IN_SEGMENT (int)
Не используется с ICU 2.4.
U_ILLEGAL_CHARACTER (int)
Служебный символ находится вне разрешенного контекста.
U_ILLEGAL_ESCAPE_SEQUENCE (int)
Недопустимая экранирующая последовательность ISO-2022.
U_ILLEGAL_PAD_POSITION (int)
Дополнительный символ неправильно расположен в цифровом шаблоне.
U_INDEX_OUTOFBOUNDS_ERROR (int)
Попытка получить доступ к индексу, который находится за пределами допустимого.
U_INTERNAL_PROGRAM_ERROR (int)
Указывает на ошибку в коде библиотеки.
U_INTERNAL_TRANSLITERATOR_ERROR (int)
Внутренняя системная ошибка транслитератора.
U_INVALID_CHAR_FOUND (int)
При преобразовании символов: несопоставимая входная последовательность. В других API: недопустимый символ.
U_INVALID_FORMAT_ERROR (int)
Формат данных не соответствует ожидаемому.
U_INVALID_FUNCTION (int)
Правило &fn() указывает неизвестный транслитератор.
U_INVALID_ID (int)
Правило ::id указывает неизвестный транслитератор.
U_INVALID_PROPERTY_PATTERN (int)
Не используется с ICU 2.4.
U_INVALID_RBT_SYNTAX (int)
Правило ::id передали в анализатор RuleBasedTransliterator.
U_INVALID_STATE_ERROR (int)
Запрошенная операция не может быть завершена в ICU в её текущем состоянии.
U_INVALID_TABLE_FILE (int)
Файл таблицы преобразования не найден.
U_INVALID_TABLE_FORMAT (int)
Файл таблицы преобразования найден, но поврежден.
U_INVARIANT_CONVERSION_ERROR (int)
Невозможно преобразовать строку UChar* в char* с инвариантным преобразователем.
U_MALFORMED_EXPONENTIAL_PATTERN (int)
Символ группировки в шаблоне экспоненты.
U_MALFORMED_PRAGMA (int)
Прагма 'use' недопустима.
U_MALFORMED_RULE (int)
Элементы правила расположены не на своем месте.
U_MALFORMED_SET (int)
Недопустимый шаблон UnicodeSet.
U_MALFORMED_SYMBOL_REFERENCE (int)
Не используется с ICU 2.4.
U_MALFORMED_UNICODE_ESCAPE (int)
Недопустимый шаблон экранирования Юникода.
U_MALFORMED_VARIABLE_DEFINITION (int)
Недопустимое определение переменной.
U_MALFORMED_VARIABLE_REFERENCE (int)
Ссылка на переменную недействительна.
U_MEMORY_ALLOCATION_ERROR (int)
Ошибка выделения памяти.
U_MESSAGE_PARSE_ERROR (int)
Невозможно проанализировать сообщение (формат сообщения).
U_MISMATCHED_SEGMENT_DELIMITERS (int)
Не используется с ICU 2.4.
U_MISPLACED_ANCHOR_START (int)
Стартовый якорь появляется в недопустимой позиции.
U_MISPLACED_COMPOUND_FILTER (int)
Составной фильтр находится в неправильном месте.
U_MISPLACED_CURSOR_OFFSET (int)
Смещение курсора происходит в недопустимой позиции.
U_MISPLACED_QUANTIFIER (int)
Квантификатор появляется после разделителя закрытия сегмента.
U_MISSING_OPERATOR (int)
Правило не содержит оператора.
U_MISSING_RESOURCE_ERROR (int)
Запрошенный ресурс не найден.
U_MISSING_SEGMENT_CLOSE (int)
Не используется с ICU 2.4.
U_MULTIPLE_ANTE_CONTEXTS (int)
Больше одного предварительного контекста.
U_MULTIPLE_COMPOUND_FILTERS (int)
Больше одного составного фильтра.
U_MULTIPLE_CURSORS (int)
Больше одного курсора.
U_MULTIPLE_DECIMAL_SEPARATORS (int)
В числовом шаблоне больше одного десятичного разделителя.
U_MULTIPLE_DECIMAL_SEPERATORS (int)
Псевдоним константы U_MULTIPLE_DECIMAL_SEPARATORS.
U_MULTIPLE_EXPONENTIAL_SYMBOLS (int)
Больше одного символа экспоненты в числовом шаблоне.
U_MULTIPLE_PAD_SPECIFIERS (int)
Больше одного символа панели в цифровом шаблоне.
U_MULTIPLE_PERCENT_SYMBOLS (int)
Больше одного символа процента в числовом шаблоне.
U_MULTIPLE_PERMILL_SYMBOLS (int)
Больше одного символа промилле в числовом шаблоне.
U_MULTIPLE_POST_CONTEXTS (int)
Больше одного контекста публикации.
U_NO_SPACE_AVAILABLE (int)
Нет места для расширения в буфере для арабского оформления.
U_NO_WRITE_PERMISSION (int)
Попытка изменить данные, которые доступны только для чтения, или постоянные данные.
U_PARSE_ERROR (int)
Эквивалент исключения ParseException в языке Java.
U_PARSE_ERROR_LIMIT (int)
Предел ошибок экземпляра Transliterator.
U_PARSE_ERROR_START (int)
Начало ошибок экземпляра Transliterator.
U_PATTERN_SYNTAX_ERROR (int)
Синтаксическая ошибка в шаблоне формата.
U_PRIMARY_TOO_LONG_ERROR (int)
Пользователь попытался установить ICU-параметр по умолчанию [variable top] как первичный, длина которого превышает два байта.
U_REGEX_BAD_ESCAPE_SEQUENCE (int)
Нераспознанная экранирующая последовательность обратной слеша в шаблоне.
U_REGEX_BAD_INTERVAL (int)
Ошибка в интервале {min,max}.
U_REGEX_ERROR_LIMIT (int)
Это всегда должно быть последнее значение, которое указывает предел ошибок регулярного выражения.
U_REGEX_ERROR_START (int)
Начало кодов, которые указывают на ошибки регулярного выражения.
U_REGEX_INTERNAL_ERROR (int)
Обнаружена внутренняя ошибка (баг).
U_REGEX_INVALID_BACK_REF (int)
Обратная ссылка на несуществующую группу захвата.
U_REGEX_INVALID_FLAG (int)
Недопустимое значение для флагов режима сопоставления.
U_REGEX_INVALID_STATE (int)
Экземпляр RegexMatcher находится в недопустимом состоянии для запрошенной операции.
U_REGEX_LOOK_BEHIND_LIMIT (int)
Соответствия ретроспективного шаблона должны иметь ограниченную максимальную длину.
U_REGEX_MAX_LT_MIN (int)
В интервале {min,max}, значение max меньше значения min.
U_REGEX_MISMATCHED_PAREN (int)
Неправильно вложенные круглые скобки в шаблоне регулярного выражения.
U_REGEX_NUMBER_TOO_BIG (int)
Десятичное число слишком большое.
U_REGEX_PROPERTY_SYNTAX (int)
Неверное свойство Юникода.
U_REGEX_RULE_SYNTAX (int)
Синтаксическая ошибка в шаблоне регулярного выражения.
U_REGEX_SET_CONTAINS_STRING (int)
Регулярные выражения не могут содержать UnicodeSet, которые содержат строки.
U_REGEX_UNIMPLEMENTED (int)
Использование возможностей регулярного выражения, которые ещё не реализовали.
U_RESOURCE_TYPE_MISMATCH (int)
Запрашивается операция над ресурсом, который её не поддерживает.
U_RULE_MASK_ERROR (int)
Правило скрыто более ранним более общим правилом.
U_SAFECLONE_ALLOCATED_WARNING (int)
Операция SafeClone требовала выделения памяти (только в информационных целях).
U_SORT_KEY_TOO_SHORT_WARNING (int)
Количество уровней, запрошенных в getBound, больше, чем количество уровней в ключе сортировки.
U_STANDARD_ERROR_LIMIT (int)
Это всегда должно быть последнее значение, которое обозначает предел стандартных ошибок.
U_STATE_OLD_WARNING (int)
ICU должен использовать уровень совместимости, чтобы создать службу. Ожидайте снижения производительности или памяти.
U_STATE_TOO_OLD_ERROR (int)
ICU не может создать службу из этого состояния, поскольку она больше не поддерживается.
U_STRING_NOT_TERMINATED_WARNING (int)
Выходная строка не может завершиться NUL-байтом, поскольку выходные данные length==destCapacity.
U_STRINGPREP_CHECK_BIDI_ERROR (int)
Псевдоним константы U_IDNA_CHECK_BIDI_ERROR.
U_STRINGPREP_PROHIBITED_ERROR (int)
Псевдоним константы U_IDNA_PROHIBITED_ERROR.
U_STRINGPREP_UNASSIGNED_ERROR (int)
Псевдоним константы U_IDNA_UNASSIGNED_ERROR.
U_TOO_MANY_ALIASES_ERROR (int)
В пути к запрошенному ресурсу слишком много псевдонимов. Вполне возможно, что произошло циклическое определение псевдонима.
U_TRAILING_BACKSLASH (int)
Висячий обратный слеш.
U_TRUNCATED_CHAR_FOUND (int)
При преобразовании символов: неполная последовательность ввода.
U_UNCLOSED_SEGMENT (int)
Закрывающий символ ) отсутствует.
U_UNDEFINED_SEGMENT_REFERENCE (int)
Ссылка на сегмент не соответствует определённому сегменту.
U_UNDEFINED_VARIABLE (int)
Ссылка на переменную не соответствует определённой переменной.
U_UNEXPECTED_TOKEN (int)
Синтаксическая ошибка в шаблоне формата.
U_UNMATCHED_BRACES (int)
Фигурные скобки не соответствуют шаблону сообщения.
U_UNQUOTED_SPECIAL (int)
Служебный символ не заключили в кавычки или не заэкранировали.
U_UNSUPPORTED_ATTRIBUTE (int)
Не используется с ICU 2.4.
U_UNSUPPORTED_ERROR (int)
Запрошенная операция не поддерживается в текущем контексте.
U_UNSUPPORTED_ESCAPE_SEQUENCE (int)
Неподдерживаемая экранирующая последовательность ISO-2022.
U_UNSUPPORTED_PROPERTY (int)
Не используется с ICU 2.4.
U_UNTERMINATED_QUOTE (int)
Заключительная одинарная кавычка отсутствует.
U_USELESS_COLLATOR_ERROR (int)
У колатора — это только параметры, базу не указали.
U_USING_DEFAULT_WARNING (int)
Поиск пакета ресурсов вернул результат из корневой локали (не ошибку).
U_USING_FALLBACK_WARNING (int)
Поиск пакета ресурсов вернул резервный результат (не ошибку).
U_VARIABLE_RANGE_EXHAUSTED (int)
Для этого диапазона переменных создали слишком много дублёров.
U_VARIABLE_RANGE_OVERLAP (int)
Диапазон переменных перекрывает символы, которые используются в правилах.
U_ZERO_ERROR (int)
Ни ошибки, ни предупреждения.

Добавить

Примечания пользователей 2 notes

up
6
PHP Guru
4 years 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.)
up
2
rg at mejoramos dot com
1 year ago
to date (MARCH 2023), the version Spanish not give info about the constant `INTL_ICU_VERSION`, take a look to English version, with details about the important constant `INTL_ICU_VERSION`
To Top