PHP Conference Nagoya 2025

A classe Normalizer

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

Introdução

Normalização é um processo que envolve transformar caracteres e sequências de caracteres em uma representação subjacente formalmente definida. Este processo é mais importante quando o texto precisa ser comparado para ordenação e pesquisa, mas também é usado ao armazenar texto para garantir que seja armazenado em uma representação consistente.

O Consórcio Unicode definiu um número de formas de normalização refletindo as várias necessidades das aplicações:

  • Forma de Normalização D (NFD) - Decomposição Canônica
  • Forma de Normalização C (NFC) - Decomposição Canônica seguida por Composição Canônica
  • Forma de Normalização KD (NFKD) - Decomposição de Compatibilidade
  • Forma de Normalização KC (NFKC) - Decomposição de Compatibilidade seguida por Composição Canônica
As diferentes formas são definidas em termos de um conjunto de transformações no texto, que são expressas por um algoritmo em por um conjunto de arquivos de dados.

Resumo da 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étodos */
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 predefinidas

As seguintes constantes definem a forma de normalização usada pelo normalizador:

Normalizer::FORM_C
Forma de Normalização C (NFC) - Decomposição Canônica seguida por Composição Canônica
Normalizer::FORM_D
Forma de Normalização D (NFD) - Decomposição Canônica
Normalizer::NFD

Normalizer::FORM_KC
Forma de Normalização KC (NFKC) - Decomposição de Compatibilidade, seguida por Composição Canônica
Normalizer::NFKC

Normalizer::FORM_KC_CF

Normalizer::FORM_KD
Forma de Normalização KD (NFKD) - Decomposição de Compatibilidade
Normalizer::NFKD

Normalizer::NFC

Normalizer::NFKC_CF

Registro de Alterações

Versão Descrição
8.0.0 Normalizer::NONE foi removida.

Índice

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top