Ciao a tutti. Vorrei sapere se è possibile scrivere un'espressione regolare (immagino di sì) che mi semplifichi questo lavoro, evitando di usare un ciclo.

In pratica date alcune parole, nel caso le trovi all'interno del testo me le deve evidenziare.
risultato
il cane era sotto l'albero del giardino
Attendo notizie dai guru delle regexp.

Codice PHP:
<?php
$pattern 
'albero cane giardino';
$stringa "il cane era sotto l'albero del giardino";
$pattern=explode(' ',$pattern);
foreach(
$pattern as $chiave=>$valore)
    
$pattern[$chiave] = "/\\b$valore\\b/i";
$stringa preg_replace($pattern,"[b]$0[/b]",$stringa);
echo 
$stringa;
?>
edit: le parole vengono inviate tramite un form. Forse non c'è alternativa al codice di sopra. :master: