# La classe Normalizer

(PHP 5 >= 5.3.0, PHP 7, 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 getRawDecomposition ( string `$input` ) : string
public static isNormalized ( string `$input` [, int `$form` = Normalizer::FORM_C ] ) : bool
public static normalize ( string `$input` [, int `$form` = Normalizer::FORM_C ] ) : string
}

## Constantes pré-définies

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

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

## Voir aussi

- » Unicode Normalization
- » Unicode Normalization FAQ
- » ICU User Guide : Normalization
- » ICU API Reference : Normalization

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