mmm riprova con questa:
codice:
preg_replace("/(<([a-z]+)[^>]*?)<span.*?>(.*?)<\/span>(.*?<\/\\2>)/is",'$1$3$4',$txt);
sono in ufficio e non sto facendo prove, appena arrivo a casa cmq la controllo meglio.