PHPCon Poland 2024

Normalizer::normalize

normalizer_normalize

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

Normalizer::normalize -- normalizer_normalize Normalizes the input provided and returns the normalized string

说明

面向对象风格

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

过程化风格

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

Normalizes the input provided and returns the normalized string

参数

string

The input string to normalize

form

One of the normalization forms.

返回值

The normalized string or false if an error occurred.

示例

示例 #1 normalizer_normalize() example

<?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 OO example

<?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