Ne mozes to da uradis pomocu str_replace, treba ti preg_replace:
$trazi = array("pizza", "baza", "forum");
$text = "bla bla asd oasd pizza dadgs joiajw forum ajidojgoaisjd baza";
echo preg_replace("/(" . join("|", $trazi) . ")/Ui", "<b>$1</b>", $text);
Zasto ne moze pomocu str_replace? Zato sto je u tvom primeru drugi parametar dobijen konkatenacijom dva stringa i niza, cime se dobija string.
"Problem" lezi u cinjenici da PHP nije strogo tipiziran jezik, pa se u tvom kodu nad nizom poziva magic method __toString(), koji za niz uvek vraca "Array", bez obzira sta se nalazi u tom nizu. Prakticno kao da si napisao:
echo str_replace($trazi, "<b>Array</b>", $text);
|