(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
(int)- Normalization Form C (NFC) - Canonical Decomposition followed by Canonical Composition
Normalizer::FORM_D
(int)- Normalization Form D (NFD) - Canonical Decomposition
Normalizer::FORM_KC
(int)- Normalization Form KC (NFKC) - Compatibility Decomposition, followed by Canonical Composition
Normalizer::FORM_KD
(int)- Normalization Form KD (NFKD) - Compatibility Decomposition
Normalizer::NONE
(int)- 分解/合成を行わない
Normalizer::OPTION_DEFAULT
(int)- デフォルトの正規化オプション
目次
- Normalizer::getRawDecomposition — Gets the Decomposition_Mapping property for the given UTF-8 encoded code point
- Normalizer::isNormalized — 渡された文字列が、指定した正規化を適用済みかどうかを調べる
- Normalizer::normalize — 渡された入力を正規化し、正規化後の文字列を返す
/* メソッド */