Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> str_replace, a sposób na ignorowanie wielkości liter
sonicius
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 1
Dołączył: 2.02.2006

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


Krótko o co mi chodzi:

mam zapytanie z bazy mySql, które wybiera mi rekordy, gdzie w kolumnie opis znajdzie ciąg zadany z formularza np %Szkoła wyższa%

CODE
SELECT opis from jakas_tabela WHERE opis like %string z formularza%


Mysql domyślnie ignoruje wielkości liter (i bardzo dobrze)

Meritum:

Chcę znalezione słowo opisu zaznaczać dodatkowym stylem CSS

Wpadłem na proste rozwiązanie:

CODE
str_replace($string_z_formularza, '<span style="color: red;">'.$string_z_formularza.'</span>', $calosc_opisu_z_bazy)


Jednak ma to jedną wadę szukane wyrażenie musi "trafić" w wielkość liter jakie są w bazie danych:

Czyli - w bazie opis jest np. "test test test test Szkoła Wyższa test test test"

Str_replace oczywiście przyniesie skutek (i doda klase CSS) tylko jeżeli będziemy wyszukiwać ze zgodnością wielkości liter: "Szkoła Wyższa"

Jeżeli wpiszemy "szkoła wyższa" - niestety (IMG:style_emoticons/default/sad.gif) Mysql zwróci wynik, ale str_replace nie wykona swojego zadania.

Prosiłbym o jakiś pomysł jak to najlepiej rozwiązać:

W ostateczności możnaby "podnosić" wielkość znaków całego opisu z bazy jak i wyrażenia z formularza, ale to skutkowałoby "podniesieniem" i wyświetleniem całego opisu w wielkich znakach, a tego chciałbym uniknąć.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kleer94
post
Post #2





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 21.04.2010

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


Rejestrowałem się przedewszystkim, aby odpowiedzieć na to pytanie (IMG:style_emoticons/default/smile.gif) .
Mam nadzieję, że w przyszłoći ktoś na tym skorzysta, bo jest już troche późno na odpowiedź.
Funkcja "str_ireplace" jest analogiczna do funkcji "str_replace", tylko, że ta pierwsza ignoruje wielkość liter.
Pozdrowionka
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: 22.08.2025 - 21:58