Aggiungi un lookahead negativo!
In questo modo dovrebbe funzionare
Occhio che non si vedono i caratteri backslashati..Codice PHP:
$pattern = "/\[span=([a-z0-9-]+)\]([^\[\]]+)(?!\[\/span\])\[\/span\]/";
In realta' e' cosi
$pattern = "/\[span=([a-z0-9-]+)\]([^\[\]]+)(?!\[\/span\])\[\/span\]/";
Ciao
----
Oooops ho preso un abbaglio.. in realta' non funziona sorry :P