ConFoo 2025

Normalizer::normalize

normalizer_normalize

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

Normalizer::normalize -- normalizer_normalize 渡された入力を正規化し、正規化後の文字列を返す

説明

オブジェクト指向型

public static Normalizer::normalize(string $string, int $form = Normalizer::FORM_C): string|false

手続き型

normalizer_normalize(string $string, int $form = Normalizer::FORM_C): string|false

渡された入力を正規化し、正規化後の文字列を返します。

パラメータ

string

正規化する入力文字列。

form

正規化方式のいずれか。

戻り値

正規化後の文字列、あるいはエラーが発生した場合に false を返します。

例1 normalizer_normalize() の例

<?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_1 = normalizer_normalize( $char_A_ring, Normalizer::FORM_C );
$char_2 = normalizer_normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo
urlencode($char_1);
echo
' ';
echo
urlencode($char_2);
?>

例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_1 = Normalizer::normalize( $char_A_ring, Normalizer::FORM_C );
$char_2 = Normalizer::normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo
urlencode($char_1);
echo
' ';
echo
urlencode($char_2);
?>

上の例の出力は以下となります。

%C3%85 %C3%85

参考

add a note

User Contributed Notes 2 notes

up
7
spam at oscar dot xyz
9 years ago
You can use the 'original' abbreviations if you feel more comfortable:

<?php
Normalizer
::NFD;
Normalizer::NFKD;
Normalizer::NFC;
Normalizer::NFKC;
?>
up
4
anrdaemon at freemail dot ru
6 years ago
"If you get error messages while starting apache of xampp package with activated extension=intl.dll," do NOT copy any files around.

Use Apache's "LoadFile …" functionality to load any missing DLL's not found within a %PATH%. Even php##ts.dll itself.
To Top