# 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 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

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

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

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

`Normalizer::FORM_KC_CF` int

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

`Normalizer::NFC` int

`Normalizer::NFKC_CF` int

## Veja Também

- » Normalização Unicode
- » Perguntas Frequentes sobre Normalização Unicode
- » Guia do Usuário ICU - Normalização
- » Referência da API ICU - Normalização

## Registro de Alterações

Versão | Descrição
--- | ---
8.4.0 | As constantes de classe agora são tipadas.
8.0.0 | `Normalizer::NONE` foi removida.

## Índice

- Normalizer::getRawDecomposition — Obtém a propriedade Decomposition_Mapping para o ponto de código UTF-8 fornecido
- Normalizer::isNormalized — Verifica se a string fornecida já está normalizada na forma especificada.
- Normalizer::normalize — Normaliza a entrada fornecida e retorna a string normalizada

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