Normalizer クラス

(PHP 5 >= 5.3.0, PHP 7, 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) は、アルゴリズムとデータファイルの両方で表現します。

クラス概要

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 (integer)
Normalization Form C (NFC) - Canonical Decomposition followed by Canonical Composition
Normalizer::FORM_D (integer)
Normalization Form D (NFD) - Canonical Decomposition
Normalizer::FORM_KC (integer)
Normalization Form KC (NFKC) - Compatibility Decomposition, followed by Canonical Composition
Normalizer::FORM_KD (integer)
Normalization Form KD (NFKD) - Compatibility Decomposition
Normalizer::NONE (integer)
分解/合成を行わない
Normalizer::OPTION_DEFAULT (integer)
デフォルトの正規化オプション

目次