php[world] in Washington, D.C.

La classe Normalizer

(PHP 5 >= 5.3.0, 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

Normalizer {
/* Méthodes */
public static bool isNormalized ( string $input [, string $form = Normalizer::FORM_C ] )
public static string normalize ( string $input [, string $form = Normalizer::FORM_C ] )
}

Constantes pré-définies

Les constantes suivantes définissent les formes de normalisation à appliquer par le normalizer :

Normalizer::FORM_C (chaîne de caractères)
Normalization Form C (NFC) : décomposition canonique suivie d'une composition canonique
Normalizer::FORM_D (chaîne de caractères)
Normalization Form D (NFD) : décomposition canonique
Normalizer::FORM_KC (chaîne de caractères)
Normalization Form KC (NFKC) : décomposition compatible, suivie d'une composition canonique
Normalizer::FORM_KD (chaîne de caractères)
Normalization Form KD (NFKD) : décomposition compatible
Normalizer::NONE (chaîne de caractères)
Pas de décomposition/composition
Normalizer::OPTION_DEFAULT (chaîne de caractères)
Options par défaut de normalisation

Sommaire

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top