Класс Normalizer

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Введение

Нормализация - это процесс преобразования символов и их последовательностей в формальное представление более низкого уровня. Данный процесс крайне важен при сравнении строк при сортировке или при поиске, но также используется при сохранении текста, чтобы быть уверенным в том, что он сохранился корректно.

Консорциум Unicode определил несколько форм нормализации, отражающих разные потребности приложений:

  • Normalization Form D (NFD) - Каноническое разложение
  • Normalization Form C (NFC) - Каноническое разложение с последующей канонической сборкой
  • Normalization Form KD (NFKD) - Совместимое разложение
  • Normalization Form KC (NFKC) - Совместимое разложение с последующей канонической сборкой
Различные формы задаются в требованиях наборов преобразований текста. Преобразования вычисляются с алгоритма и набора файлов данных.

Обзор классов

classNormalizer {
publicconstintFORM_D;
publicconstintNFD;
publicconstintFORM_KD;
publicconstintNFKD;
publicconstintFORM_C;
publicconstintNFC;
publicconstintFORM_KC;
publicconstintNFKC;
publicconstintFORM_KC_CF;
publicconstintNFKC_CF;
publicstaticgetRawDecomposition(string$string, int$form = Normalizer::FORM_C): ?string
publicstaticisNormalized(string$string, int$form = Normalizer::FORM_C): bool
publicstaticnormalize(string$string, int$form = Normalizer::FORM_C): string|false
}

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

Данные константы задают форму нормализации, используемую нормализатором:

Normalizer::FORM_C
Форма нормализации C (NFC) - Каноническое разложение, после которого каноническая сборка
Normalizer::FORM_D
Форма нормализации D (NFD) - Каноническое разложение
Normalizer::NFD

Normalizer::FORM_KC
Форма нормализации KC (NFKC) - Совместимое разложение, после которого каноническая сборка
Normalizer::NFKC

Normalizer::FORM_KC_CF

Normalizer::FORM_KD
Форма нормализации KD (NFKD) - Совместимое разложение
Normalizer::NFKD

Normalizer::NFC

Normalizer::NFKC_CF

Список изменений

ВерсияОписание
8.0.0 Константа Normalizer::NONE была удалена.

Содержание

To Top