Dlaczego Normalizer :: normallize (PHP) nie działa?
Próbuję znormalizować ciągi znaków, takich jak „áéíóú” do „aeiou”, aby uprościć wyszukiwanie.
Po odpowiedzi nato pytanie Powinienem użyćNormalizer
klasa to zrobić.
Problem polega na tym, żenormalize
funkcja nic nie robi. Na przykład ten kod:
<?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)?>
przedstawia:
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áàä, êëéè
Co należy normalizować, musi zrobić?
--- EDYCJA ---
To jest dziwniejsze. Po skopiowaniu i wklejeniu wyniku z przeglądarki internetowej, podczas gdy w edytorze i oryginalnej stronie widzę:
FORM_D: aáàä, êëéè
na stronie pytania o stackoverflow widzę (tylko w trybie Sample Code):
FORM_D: aáàä, êëéè