Ho una stringa che contiene dei tag tipo l'html di una pagina web
Ho bisogno di estrarre la porzione di tag + contenuto oppure il contenuto stesso....al fine di controllare se esiste un tag vuoto cioè senza contenuto ad esempio [S] [/S]
Ho pensato:

Codice PHP:
$paragrafo="[C]corsivo[/C]";

$dopo_apertura_tag=substr($paragrafo,3);        // rest corsivo[/C]  echo "
dopo_apertura_tag ".$dopo_apertura_tag;
$dopo_apertura_tag=strrev($dopo_apertura_tag);    // contrario -> ]C\[ovisroc
echo "
dopo_apertura_tag ".$dopo_apertura_tag;
$prima_chiusura_tag=substr($dopo_apertura_tag,5);    // rest ovisroc  echo "
prima_chiusura_tag ".$prima_chiusura_tag;
$contenuto=strrev($prima_chiusura_tag);        // rest corsivo 
Questo è corretto in caso di un solo tag, ma in questa generica situazione???

Codice PHP:
$paragrafo="[C]corsivo[/C]sadsdf sdfsdf sdfdsf [S]stringa sottolin[/S][G]grasetto[/G] esrset";

preg_match('[[/[[A-Z]/].*/[//[A-Z]/]]',$paragrafo,$mth);
            echo 
"
"
print_r($mth); 
Testando preg_match mi dà l'errore
No ending matching delimiter ']'
e comunque.... è corretto l'utilizzo di qsta espressione????
Grazie