# 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 involucra la transformación de caracteres y secuencias de caracteres en una representación subyacente formalmente definida. Este proceso es más importante cuando el texto necesita ser comparado para propósitos de ordenación y búsqueda, pero también se usa al almacenar texto para asegurarse de que éste se almacena en una representación consistente.

El Consorcio Unicode ha definido varias formas de normalización que reflejan 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 Composición Canónica
- Forma de Normalización KD (NFKD) - Descomposición por Compatibilidad
- Forma de Normalización KC (NFKC) - Descomposición por Compatibilidad seguida de Composición Canónica

Las diferentes formas están definidas en términos de un conjunto de transformaciones realizadas sobre el texto, tranformaciones que están expresadas por un algoritmo y un conjunto de ficheros de datos.

## Sinopsis de la Clase

class Normalizer {
/* Métodos */
public static getRawDecomposition(string `$string`, int `$form` = Normalizer::FORM_C): ?string
public static isNormalized(string `$input`, int `$form` = Normalizer::FORM_C): bool
public static normalize(string `$input`, int `$form` = Normalizer::FORM_C): string
}

## Constantes predefinidas

Las siguientes constantes definen la forma de normalización utilizada por el normalizador:

`Normalizer::FORM_C` (integer)
  Forma de Normalización C (NFC) - Descomposición Canónica seguida de Composición Canónica
`Normalizer::FORM_D` (integer)
  Forma de Normalización D (NFD) - Descomposición Canónica
`Normalizer::FORM_KC` (integer)
  Forma de Normalización KC (NFKC) - Descomposición por Compatibilidad seguida de Composición Canónica
`Normalizer::FORM_KD` (integer)
  Forma de Normalización KD (NFKD) - Descomposición por Compatibilidad
`Normalizer::NONE` (integer)
  Sin descomposición/composición
`Normalizer::OPTION_DEFAULT` (integer)
  Opciones de normalización predeterminadas

## Ver también

- » Normalización Unicode
- » Normalización Unicode P+F
- » Guía de usuario ICU - Normalización
- » Referencia de la API de ICU - Normalización

## Tabla de contenidos

- Normalizer::getRawDecomposition — Gets the Decomposition_Mapping property for the given UTF-8 encoded code point
- Normalizer::isNormalized — Comprobar si la cadena proporcionada ya está en la forma de normalización especificada.
- Normalizer::normalize — Normaliza la entrada provista y devuelve la cadena normalizada