Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] kolorowanie wyników wyszukiwania
r00x
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 13.01.2007

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


Na poczatku witam wszystkich smile.gif

No wiec sprawa ma sie tak, ze nie wiem jak sobie poradzic z podswietlaniem wielu wynikow w wyszukiwarce. Z jednym slowem kluczowym nie ma zadnego problemu, ale sprawa sie komplikuje jak jest wiele slow wpisanych do wyszukiwania. Slowo kluczowe poprzez eregi_replace zamieniane jest na span z background-colorem, ale przy kolejnej iteracji petli aby podswietlila kolejne wyszukiwane slowo przeszukiwane jest juz cos takiego:
  1. <span style="background-color: jakis-tam">slowo_kluczowe_nr1</span>
i jezeli drugie slowo kluczowe bylo np. pojedyncza literka 'p' to poprzez eregi_replace znow zamienialo to slowo kluczowe na span przez co sypaly sie tagi. Czy moglby mi ktos pomoc z tym ? Zapewne chodzi o jakies wyrazenie regularne, ale niestety ja sobie z tym rady do tej pory nie daje ...

p.s. Moje jedno glupie rozwiazanie polegalo na tym, ze stworzylem funkcje, ktora zamieniala te taki span na jakis znak np. '%' i '-' przez co slowa kluczowe byly szukane w wyrazeniu np. %slowo_kluczowe_nr1- , ale to jest bez sensu jak ktos wpisze podany znak jako kolejne slowo wyszukiwane ;p

Z gory dziekuje za pomoc winksmiley.jpg

EDIT :

jest ktos w stanie pomoc?
bo moje jedyne rozwiazanie to taka funkcja, ale, jezeli ktos wprowadzi np ciag "$ # a" do wyszukiwania to sie sypie ;/
  1. <?php
  2. function podswietl_wyniki_wyszukiwania($wynik_wyszukiwania, $kryteria_wyszukiwania, $bgcolor='Yellow')
  3. {
  4. if (empty($kryteria_wyszukiwania)) {
  5. return $wynik_wyszukiwania;
  6. } else {
  7. $start_span = "<span style='background-color: $bgcolor'>";
  8. $end_span = "</span>";
  9.  
  10. if($wynik_wyszukiwania != "$" && strstr($wynik_wyszukiwania, '$')==FALSE && $wynik_wyszukiwania != "#" && strstr($wynik_wyszukiwania, '#')==FALSE) {
  11.  
  12. $wynik_wyszukiwania = str_ireplace($start_span, '$', $wynik_wyszukiwania);
  13. $wynik_wyszukiwania = str_ireplace($end_span, '#', $wynik_wyszukiwania);
  14. $podswietlone_wyniki = $start_span . $kryteria_wyszukiwania . $end_span;
  15. $wynik_wyszukiwania = str_ireplace($kryteria_wyszukiwania, $podswietlone_wyniki, $wynik_wyszukiwania);
  16. $wynik_wyszukiwania = str_ireplace('$', $start_span, $wynik_wyszukiwania);
  17. $wynik_wyszukiwania = str_ireplace('#', $end_span, $wynik_wyszukiwania);
  18. } else { 
  19. $podswietlone_wyniki = $start_span.$kryteria_wyszukiwania.$end_span;
  20.  $wynik_wyszukiwania = str_ireplace($kryteria_wyszukiwania, $podswietlone_wyniki, $wynik_wyszukiwania);
  21. }
  22. return $wynik_wyszukiwania;
  23. }
  24. }
  25. ?>


Ten post edytował r00x 13.01.2007, 12:16:48


--------------------
Go to the top of the page
+Quote Post

Posty w temacie
- r00x   [php] kolorowanie wyników wyszukiwania   13.01.2007, 11:57:38


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

 



RSS Aktualny czas: 19.08.2025 - 03:59