Prova con:

codice:
$testo = preg_replace("/($stringa_ricerca)(?!([^<]+)?>)/i", "<span.....>$1</span>", $dati['descrizione']);