ConFoo 2025

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

Tabla de contenidos

add a note

User Contributed Notes

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