ciao anakin. scusa ma la differenza nell'ordine tra cane e pescecane non l'ho proprio capita.

$stringa = "il cane era sotto l'albero del giardino pescecane accasato";
$stringa = preg_replace("/\b(Albero|CANE|giardino|pescecane|casa)\b/i","$0",$stringa);
echo $stringa;

con una situazione del genere che problemi crea l'ordine dei due?