(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
Normalizer::isNormalized -- normalizer_is_normalized — 渡された文字列が、指定した正規化を適用済みかどうかを調べる
オブジェクト指向型
手続き型
渡された文字列が、指定した正規化を適用済みかどうかを調べます。
正規化する入力文字列。
正規化方式のいずれか。デフォルトは Normalizer::FORM_C です。
正規化されている場合に TRUE、正規化されていない場合やエラーが発生した場合に FALSE を返します。
例1 normalizer_is_normalized() の例
<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A"; // 'COMBINING RING ABOVE' (U+030A)
$char_orig = 'A' . $char_combining_ring_above;
$char_norm = normalizer_normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );
echo ( normalizer_is_normalized($char_orig, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
echo '; ';
echo ( normalizer_is_normalized($char_norm, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
?>
例2 オブジェクト指向の例
<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A"; // 'COMBINING RING ABOVE' (U+030A)
$char_orig = 'A' . $char_combining_ring_above;
$char_norm = Normalizer::normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );
echo ( Normalizer::isNormalized($char_orig, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
echo '; ';
echo ( Normalizer::isNormalized($char_norm, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
?>
上の例の出力は以下となります。
not normalized; normalized