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?