Scusate, forse è una banalità ma non riesco proprio a capire il problema.
Fondamentalmente io ho questo:

Codice PHP:
$text "[color='red']prova[/color]";

$text preg_replace("#\[color=\'(.*?)\'\](.*?)\[\/color\]#is""<span style='color:$1'>$2</span>"$text); 
Ebbene, il risultato (teorico) di questa espressione regolare dovrebbe essere

Codice PHP:
$text "<span style='color:red'>prova</span>"
invece è:

Codice PHP:
$text "[color='red">prova[/color]"; 
Qualcuno sa dirmi dove sbaglio?