Класс Normalizer

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

Введение

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

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

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

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

Normalizer {
/* Методы */
public static getRawDecomposition ( string $input ) : string
public static isNormalized ( string $input , int $form = Normalizer::FORM_C ) : bool
public static normalize ( string $input , int $form = Normalizer::FORM_C ) : string
}

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

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

Normalizer::FORM_C (int)
Форма нормализации C (NFC) - Каноническое разложение, после которого каноническая сборка
Normalizer::FORM_D (int)
Форма нормализации D (NFD) - Каноническое разложение
Normalizer::FORM_KC (int)
Форма нормализации KC (NFKC) - Совместимое разложение, после которого каноническая сборка
Normalizer::FORM_KD (int)
Форма нормализации KD (NFKD) - Совместимое разложение
Normalizer::NONE (int)
Без разложения/сборки
Normalizer::OPTION_DEFAULT (int)
Обычные настройки нормализации

Содержание