Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> podświetlanie fraz - preg_replace i polskie znaki
kris_ga
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 25.09.2011

Ostrzeżenie: (0%)
-----


Witam wszystkich, szukałem trochę nt. mojego problemu i widziałem, że wiele osób ma problem z polskimi znakami w preg_replace, ale jakoś nie znalazłem rozwiązania.

Mam skrypt, który podświetla mi wpisaną frazę w wynikach wyszukiwania.

  1.  
  2. function keyword($tekst){
  3. $wyszukaj = $_POST['wyszukaj_slowokluczowe'];
  4. $tekst = preg_replace('/('.preg_quote($wyszukaj).')/i', '<span class="highlight">$1</span>', $tekst);
  5.  
  6. return $tekst;
  7. }


Wszystko jest ok, oprócz tego, że jest jakby case sensitive ale tylko dla polskich znaków.

Przykładowo, gdy wpiszę "Warszawa", "WARSZAWA", "WarSZaWa" to podświetla prawidłowo Warszawa.

Ale gdy wpiszę "ło", to podświetla "Płock", natomiast nie podświetla "Łomża".

Gdy wpiszę "ŁO", to podświetla "Łomża", a znowu nie podświetla "Płock".


Widać więc, że ten problem dotyczy tylko polskich znaków (w drugim przykładzie podkreśla również "o" pomimo tego, że w wyniku jest "o" małe, a we wpisanej frazie "O" duże".

Ten post edytował kris_ga 25.09.2011, 12:55:15
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 01:51