Salve,
ho una variabile $keywords="pane, salame, frutta";
e una variabile $row[testo]="Oggi ho mangiato molto pane, un pò di frutta e un pezzo di salame";

Voglio che dentro $testo le keywords vengano messe in grassetto.
Ho provato così:

Codice PHP:
$keys=explode(',',$keywords);
$row[testo] = str_replace("$keys[0]""[b]$keys[0][/b]"$row[testo]);
$row[testo] = str_replace("$keys[1]""[b]$keys[1][/b]"$row[testo]);
$row[testo] = str_replace("$keys[2]""[b]$keys[2][/b]"$row[testo]); 
ma se per esempio $testo="Poi ho mangiato anche il panettone" lui poi scrive questo
panettone che evidentemente non è il risultato che voglio

Ho provato anche così:

Codice PHP:
$keys=explode(',',$keywords);
$row[testo] = str_replace($keys[0] "" [b]$keys[0][/b] "$row[testo]);
$row[testo] = str_replace($keys[1] "" [b]$keys[1][/b] "$row[testo]);
$row[testo] = str_replace($keys[2] "" [b]$keys[2][/b] "$row[testo]); 
ma in questo modo se la keyword è vicino ad una virgola o non c'è uno spazio prima della parola lui non la mette in grassetto giustamente.
come posso fare?