Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zaznaczanie tekstu za pomocą preg_replace
borpaw
post
Post #1





Grupa: Zarejestrowani
Postów: 439
Pomógł: 0
Dołączył: 3.06.2010

Ostrzeżenie: (50%)
XXX--


Kod ten elegancko zmienia tło łańcucha $word (wykorzystując do tego css) dopóki nie pojawią się wyrazy z polskimi znakami takie jak "się" "aż"
Kodowanie strony mam ustawione jako UTF-8, co trzeba zrobić żeby preg_replace widział polskie znaki?

  1. $text = preg_replace("/\b($word)\b/siu", '<span class="highlight_word">\1</span>', $text);


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Quadina
post
Post #2





Grupa: Zarejestrowani
Postów: 200
Pomógł: 38
Dołączył: 1.12.2010
Skąd: Wrocław

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


Jeżeli masz problemy z preg_match to poszukaj w manualu o iconv. Pozwoli na konwersje z innych kodowań na pożądane. Z doświadczenia wiem, że preg_match czasami wariuje nawet dla wyciągniętych z bazy danych informacji idealnych rekordów utf8 - odpowiedź na zagadnienie jest prosta. Ten sam skrypt w innych konfiguracjach serwera potrafi zachowywać się różnie dla znaków specjalnych. Dowód: Na OVH nigdy nie miałem problemu z kodowaniem i szukaniem funkcjami preg_match. Wystarczyło przenieść skrypt na serwer klienta na nazwa.pl i .... nie komentuje ;-)
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: 26.12.2025 - 05:09