CakeFest 2024: The Official CakePHP Conference

Класс 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) - Совместимое разложение с последующей канонической сборкой
Различные формы задаются в требованиях наборов преобразований текста. Преобразования вычисляются с алгоритма и набора файлов данных.

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

class Normalizer {
/* Константы */
public const int FORM_D;
public const int NFD;
public const int FORM_KD;
public const int NFKD;
public const int FORM_C;
public const int NFC;
public const int FORM_KC;
public const int NFKC;
public const int FORM_KC_CF;
public const int NFKC_CF;
/* Методы */
public static getRawDecomposition(string $string, int $form = Normalizer::FORM_C): ?string
public static isNormalized(string $string, int $form = Normalizer::FORM_C): bool
public static normalize(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 была удалена.

Содержание

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top