# La clase Normalizer

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

## Introducción

La normalización es un proceso que implica la transformación de caracteres y de secuencias de caracteres en una representación formal. Este proceso es importante cuando los textos deben ser comparados con fines de ordenación y búsqueda, pero también es importante para el almacenamiento de datos, a fin de que los documentos sean coherentes.

El consorcio Unicode Consortium ha definido un número de formas de normalización para reflejar las diferentes necesidades de las aplicaciones:

- Forma de normalización D (NFD): descomposición canónica
- Forma de normalización C (NFC): descomposición canónica, seguida de una composición canónica
- Forma de normalización KD (NFKD): descomposición compatible
- Forma de normalización KC (NFKC): descomposición compatible seguida de una composición canónica

Las diferentes formas se definen en términos de transformaciones de texto, transformaciones que se expresan con algoritmos y archivos de datos.

## Sinopsis de la Clase

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étodos */
public static function getRawDecomposition(string `$string`, int `$form` = `Normalizer::FORM_C`): ?string
public static function isNormalized(string `$string`, int `$form` = `Normalizer::FORM_C`): bool
public static function normalize(string `$string`, int `$form` = `Normalizer::FORM_C`): string|false
}

## Constantes predefinidas

Las constantes siguientes definen las formas de normalización a aplicar por el normalizador :

`Normalizer::FORM_C` int
  Forma de normalización C (NFC) : descomposición canónica seguida de una composición canónica
`Normalizer::FORM_D` int
  Forma de normalización D (NFD) : descomposición canónica
`Normalizer::NFD` int

`Normalizer::FORM_KC` int
  Forma de normalización KC (NFKC) : descomposición compatible, seguida de una composición canónica
`Normalizer::NFKC` int

`Normalizer::FORM_KC_CF` int

`Normalizer::FORM_KD` int
  Forma de normalización KD (NFKD) : descomposición compatible
`Normalizer::NFKD` int

`Normalizer::NFC` int

`Normalizer::NFKC_CF` int

## Ver también

- » Normalización Unicode
- » Preguntas frecuentes sobre la normalización Unicode
- » Guía del usuario de ICU: Normalización
- » Referencia de la API de ICU: Normalización

## Historial de cambios

Versión | Descripción
--- | ---
8.4.0 | Las constantes de clase ahora están tipadas.
8.0.0 | `Normalizer::NONE` ha sido eliminado.

## Tabla de contenidos

- Normalizer::getRawDecomposition — Devuelve la propiedad Decomposition_Mapping para el punto de código UTF-8 dado
- Normalizer::isNormalized — Comprueba si el string proporcionado ya está en el formato de normalización especificado
- Normalizer::normalize — Normaliza una cadena en entrada

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open