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. ?>