¿Por qué Normalizer :: normallize (PHP) no funciona?
Estoy tratando de normalizar cadenas con caracteres como 'áéíóú' a 'aeiou' para simplificar las búsquedas.
Siguiendo la respuesta aesta pregunta Debería usar elNormalizer
clase para hacerlo.
El problema es que lanormalize
La función no hace nada. Por ejemplo, ese código:
<?php echo 'Pérez, NFC: ' . normalizer_normalize('Pérez', Normalizer::NFC)
. ' NFD: ' .normalizer_normalize('Pérez', Normalizer::NFD)
. ' NFKC: ' .normalizer_normalize('Pérez', Normalizer::NFKC)
. ' NFKD: ' .normalizer_normalize('Pérez', Normalizer::NFKD)?>
<br/>
<?php echo 'aáàä, êëéè,'
. ' FORM_C: ' . normalizer_normalize('aáàä, êëéè', Normalizer::FORM_C )
. ' FORM_D: ' .normalizer_normalize('aáàä, êëéè', Normalizer::FORM_D)
. ' FORM_KC: ' .normalizer_normalize('aáàä, êëéè', Normalizer::FORM_KC)
. ' FORM_KD: ' .normalizer_normalize('aáàä, êëéè', Normalizer::FORM_KD)?>
muestra:
Pérez, NFC: Pérez NFD: Pérez NFKC: Pérez NFKD: Pérez
aáàä, êëéè, FORM_C: aáàä, êëéè FORM_D: aáàä, êëéè FORM_KC: aáàä, êëéè FORM_KD: aáàä, êëéè
¿Qué se supone que debe hacer la normalización?
--- EDITADO ---
Es extraño. Cuando copie y pegue el resultado desde el navegador web, mientras esté en el editor y en la página original, puedo ver:
FORM_D: aáàä, êëéè
En la página de preguntas de stackoverflow que puedo ver (solo en el modo de ejemplo de código):
FORM_D: aáàä, êëéè