![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 23.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam skrypt wyszukiwarki oparty na mysql. Oto kawałek kodu:
Problem tkwi w tym, że dla serwera szukane słowo np."Szukaj" i "szukaj" to całkiem inne wyrazy, czyli traktuje duże i małe litery jako osobne. Co zrobić, aby duże litery i małe traktowane były tak samo, czili po wpisaniu "Szukaj" znajdowało także rekordy "szukaj" oraz "SzUkAj"?? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 25.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdz jeszcze raz. Powinno dobrze wyswietlac.
Sytuacja, ktora opisales mialaby miejsce jakbys dal w zapytaniu:
Poza tym pisze sie tytuł, a nie tytół. Ten post edytował myth 26.09.2006, 18:45:15 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 1 Dołączył: 19.02.2004 Ostrzeżenie: (10%) ![]() ![]() |
ja robie to tak, co prawda w postgresie natomiast powinno to zadzialac rowniez pod mysql:
bądź tak:
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 25.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Autorowi tematu zapewne chodzilo o prawidlowe pogrubenie slowa kluczowego w wyszukanym tekscie, o czym nie napisal, bo SQL wyswietla wszystko ok. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Dzieje sie tak, bo w wyrazeniach regularnych wielkosc liter jak najbardziej ma znaczenie i str_replace nie zamieni nam wyrazu "szukaj" na "<b>szukaj</b>" gdy podamy string "SzUkaJ", a zwroci wartosc false. Zamiast:
Proponuje dac np:
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 23.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
myth miał rację. Wszystko popsół str_replace w 'podstawowej' wersji. zmieniłem to zgodnie z zaleceniami myth i jest prowie wszystko ok. Jest taki 1 mały minus.
Wpisując "SzUkAj" w wynikach wyszukiwania zostało poprawnie znalezione i pogrubione, ale zamiast 'zostawic' wielkość liter w spokoju i tylko pogrubić, funkcja zmieniła także wielkość liter i terez zamiast "Prosty tekst ze słowem szukaj." jest "Prosty tekst ze słowem SzUkAj." |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 23:40 |