Normalizer クラス

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

はじめに

正規化とは、文字や文字列を正式に決められた表現に変換する処理のことです。 これは、検索や並べ替えなどの際に比較をするときに特に重要となります。 ただ、それだけではなく、テキストを保存する際に表記を統一するために用いることもあります。

Unicode Consortium では、 アプリケーション側でのさまざまなニーズにあわせていくつかの正規化方式を定義しています。

  • Normalization Form D (NFD) - Canonical Decomposition
  • Normalization Form C (NFC) - Canonical Decomposition followed by Canonical Composition
  • Normalization Form KD (NFKD) - Compatibility Decomposition
  • Normalization Form KC (NFKC) - Compatibility Decomposition followed by Canonical Composition
これらの方式は、テキストに対する変換 (transformation) のセットとして定義されます。変換 (transformation) は、アルゴリズムとデータファイルの両方で表現します。

クラス概要

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
Normalization Form C (NFC) - Canonical Decomposition followed by Canonical Composition
Normalizer::FORM_D
Normalization Form D (NFD) - Canonical Decomposition
Normalizer::NFD

Normalizer::FORM_KC
Normalization Form KC (NFKC) - Compatibility Decomposition, followed by Canonical Composition
Normalizer::NFKC

Normalizer::FORM_KC_CF

Normalizer::FORM_KD
Normalization Form KD (NFKD) - Compatibility Decomposition
Normalizer::NFKD

Normalizer::NFC

Normalizer::NFKC_CF

変更履歴

バージョン説明
8.0.0Normalizer::NONE が削除されました。

目次

To Top