(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
Introduction
La normalisation est un processus qui implique la transformation de caractères
et de séquences de caractères dans une représentation formelle. Ce processus
est important quand des textes doivent être comparés à des fins de tri
et de recherche, mais il est aussi important pour le stockage des données,
afin que les documents soient cohérents.
Le consortium Unicode Consortium a défini un nombre de formes de normalisations
pour refléter les différents besoins des applications :
- Normalization Form D (NFD) : décomposition canonique
-
Normalization Form C (NFC) : décomposition canonique, suivie d'une
composition canonique
-
Normalization Form KD (NFKD) : décomposition compatible
-
Normalization Form KC (NFKC) : décomposition compatible suivi d'une
composition canonique
Les différentes formes sont définies en terme de transformations de texte,
transformations qui sont exprimées avec des algorithmes et des fichiers
de données.
Synopsis de la classe
class
Normalizer
{
/* Constantes */
public
const
int
FORM_D;
public
const
int
NFD;
public
const
int
FORM_KD;
public
const
int
NFKD;
public
const
int
FORM_C;
public
const
int
NFC;
public
const
int
FORM_KC;
public
const
int
NFKC;
public
const
int
FORM_KC_CF;
public
const
int
NFKC_CF;
/* Méthodes */
public static getRawDecomposition(string
$string
, int
$form
= Normalizer::FORM_C): ?string
public static isNormalized(string
$string
, int
$form
= Normalizer::FORM_C): bool
public static normalize(string
$string
, int
$form
= Normalizer::FORM_C): string|false
}
Constantes pré-définies
Les constantes suivantes définissent les formes de normalisation à appliquer
par le normalizer :
-
Normalizer::FORM_C
-
Normalization Form C (NFC) : décomposition canonique suivie d'une
composition canonique
-
Normalizer::FORM_D
-
Normalization Form D (NFD) : décomposition canonique
Normalizer::NFD
-
-
Normalizer::FORM_KC
-
Normalization Form KC (NFKC) : décomposition compatible, suivie d'une
composition canonique
Normalizer::NFKC
-
Normalizer::FORM_KC_CF
-
-
Normalizer::FORM_KD
-
Normalization Form KD (NFKD) : décomposition compatible
Normalizer::NFKD
-
Normalizer::NFC
-
Normalizer::NFKC_CF
-
Voir aussi
-
»
Unicode Normalization
-
»
Unicode Normalization FAQ
-
»
ICU User Guide : Normalization
-
»
ICU API Reference : Normalization
Historique
Sommaire
- Normalizer::getRawDecomposition — Gets the Decomposition_Mapping property for the given UTF-8 encoded code point
- Normalizer::isNormalized — Vérifie si une chaîne est normalisée
- Normalizer::normalize — Normalise une chaîne en entrée