phpday 2025 - Call For Papers

La classe Normalizer

(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 int
Normalization Form C (NFC) : décomposition canonique suivie d'une composition canonique
Normalizer::FORM_D int
Normalization Form D (NFD) : décomposition canonique
Normalizer::NFD int

Normalizer::FORM_KC int
Normalization Form KC (NFKC) : décomposition compatible, suivie d'une composition canonique
Normalizer::NFKC int

Normalizer::FORM_KC_CF int

Normalizer::FORM_KD int
Normalization Form KD (NFKD) : décomposition compatible
Normalizer::NFKD int

Normalizer::NFC int

Normalizer::NFKC_CF int

Historique

Version Description
8.4.0 Les constantes de classe sont maintenant typées.
8.0.0 Normalizer::NONE a été supprimé.

Sommaire

add a note

User Contributed Notes

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