Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Porównywanie polskich znaków
Forum PHP.pl > Forum > PHP
Kikert
Cześć,
napisałem kiedyś skrypt czatu ajaxowego, który w momencie dodawania nowej wiadomości filtruje ją pod kątem istnienia jakiś niechcianych słów i "gwiazdkuje" je, jeżeli zajdzie taka potrzeba. Wszystkie opcje są zapisane w tablicy w pliku .PHP. Dotychczas sprawdzałem te słowa funkcją in_array(), wcześniej jeszcze replacem, ale opcje są strasznie wolne (plik ma prawie 1100 linii). Chciałem skorzystać z wyszukiwania binarnego, ale mam problem przy porównywaniu polskich znaków, otóż:

  1. print_r('ą' > 'a'); // TRUE
  2. print_r('ą' < 'b'); // FALSE
  3. print_r('ą' > 'z'); // TRUE


"Ą" nie konwertuje się do inta - wychodzi 0. Nie mam pojęcia jakie są wartości polskich znaków i co w takim przypadku zrobić. Jakieś pomysły? Każdy będzie dobry wink.gif
Crozin
Skorzystaj z Collator::compare().
Kikert
Trochę się namęczyłem, żeby uruchomić rozszerzenie, ale wszystko działa prawidłowo.

Wielkie dzięki wink.gif

PS. Nie da się tego jakoś zrobić bez intl?
Crozin
Cytat
PS. Nie da się tego jakoś zrobić bez intl?
Jeżeli chce Ci się bawić w tworzenie całych tablic znaków Unicode'u to tak. wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.