Hola
¿No has pensado en usar Expresiones Regulares?
Prueba así
Código PHP:
<%
Function EditaLosBBCODE(txt)
Dim objRegExp
Set objRegExp= New RegExp
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "([\[])([^\]]*)([\]])([^\]]*)([\[])(/)*([^\]]*)([\]])"
texto = objRegExp.Replace(txt, "<tr><td>$4</td></tr>")
Set objRegExp = Nothing
EditaLosBBCODE = txt
End Function
texto = "[volanta]Novedades[/volanta][titulo]Equipos ultraportátiles: Sony VAIO TZ-31WN[/titulo][copete]Esta máquina de la serie TZ es de auténtico lujo tanto a nivel estético como tecnológico, pues es impresionante todo lo que Sony ha sido capaz de reunir en el interior de un chasis de dimensiones realmente mínimas y sólo 1,2 kilos de peso.[/copete]"
response.write "<table width=""400"" border=""0"" cellspacing=""0"" cellpadding=""0"">" & EditaLosBBCODE(texto) &"</table>"
%>
Suerte