PHP Conference Nagoya 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

Смотрите также

  • normalizer_is_normalized() - Проверить, соответствует ли переданная строка заданной форме нормализации

Добавить

Примечания пользователей 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