Allora, ho dato una controllata, se lo span puō presentarsi pų volte all'interno dello stesso tag č necessario usare due regex nidificate, mentre se si presenta una volta sola puoi usare questa regex qui, che in prima approssimazione mi pare faccia il suo lavoro:

codice:
$rex = '/(<((img|input|link|meta)|[a-z]+).*?)<span.*?>(.*?)<\/span>(.*?(?(3)>|<\/\\2>))/is' ;
$newtext = preg_replace($rex,'$1$4$5',$text) ;
dove vedi scritti "img|input|link|meta|pippo|pluto|paperino" aggiungi i tag che non hanno tag di chiusura, a me non ne sono venuti in mente altri.

:ciauz: