Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zamiana wartości
Forum PHP.pl > Forum > Przedszkole
adam882
Witam

Mam taki skrypt:

  1. $szukanie = 'darmowe#gry#online#programy';
  2. $rozbij=explode('#',$szukanie);
  3. for($x=0; $x<count($rozbij); $x++)
  4. {
  5. //tworzenie warunku zapytania -> LIKE
  6. }
  7.  
  8. //$rozbij = array('darmowe','gry','online','programy');
  9.  
  10. //Zapytanie do bazy z uwzględnieniem warunków (LIKE)
  11. while()
  12. {
  13. echo $r['nazwa']; //wyświetli: to są darmowe gry online i programy
  14. }


chcę tak wykombinować, aby w $r['nazwa']; , wartości występujące w tablicy $rozbij były pogrubione.
Próbowałem wykombinować to za pomocą str_replace() , ale nie udało mi się.

Czyli powinno wyświetlić: to są darmowe gry online i programy
piotrooo89
a to nie działa:

  1. echo '<strong>'.$r['nazwa'].'</strong>';
adam882
chodzi mi żeby pogrubiło tylko słowa, które są w tablicy $rozbij, a nie cały tekst tongue.gif
Niktoś
  1. echo 'to są:<H5>' .$r['nazwa'].'</H5>';

W tablicy raczej nie ma możliwości przechowywać sforamtowane obiekty.
piotrooo89
ja bym zrobił coś takiego:

  1. function replaceString ( $string, array $searchVal )
  2. {
  3. $words = explode(' ', $string);
  4.  
  5. $tmpStr = '';
  6. foreach( $words as $keyword )
  7. {
  8. if ( in_array($keyword, $searchVal) )
  9. $tmpStr .= '<strong>'.$keyword.'</strong> ';
  10. else
  11. $tmpStr .= $keyword.' ';
  12. }
  13.  
  14. return $tmpStr;
  15. }
  16.  
  17.  
  18. $szukanie = 'darmowe#gry#online#programy';
  19. $rozbij=explode('#',$szukanie);
  20.  
  21. $str = 'to są darmowe gry online i programy';
  22.  
  23. echo $str.PHP_EOL;
  24.  
  25. echo replaceString($str, $rozbij);


bo innego pomysłu obecnie nie mam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.