ho risolto riadattando questa funzione postata da Grambo tempo fa per un utente che aveva suppergiù il mio solito problema...

<%
chiusura=""
testo="[g ]ciao [b ]come[ /b][/ g] va[g ][b ]?"

tag=split(testo,"[")

for i=1 to ubound(tag)
lettera=left(tag(i),1)

if lettera="/" then
chiuso="["&Mid(tag(i), 2, 1)&"]"

gia_chiusi=split(chiusura,",")
cont=0
chiusura=""
for t=1 to ubound(gia_chiusi)
if cont=0 and gia_chiusi(t)=chiuso then
gia_chiusi(t)=""
cont=1
end if

chiusura=chiusura&gia_chiusi(t)
next

else
chiusura=chiusura&"[/"&lettera&"],"
end if

next

chiusura=Replace(chiusura, ",", "")
testo=testo&chiusura

response.write testo&"..."
%>