non so se è il metodo + veloce cmq
sono tornato al primo caso che era corretto ma si fermava alla prima ricorrenza quindi ho aggiunto la ricorsivita sul replace
ho aggiunto 2 parametri per rendere riutilizzabile il codice da rimpiazzare al massimo levali se non ti servono
codice:
<script language="vb" runat="server">
Sub Page_Load
Dim stringaTest as string
stringaTest = "proviamo a [z][z][z]mettere sotto [z]stress[/z]il test[/z], " & _
"se funziona il continuo [/z][/z][z][z]annidamento[/z] di grassetti..[/z], e altre sezioni [z]ben formattate[/z]"
Response.Write(Formatta(stringaTest,"z","b"))
End Sub
Function Formatta(testo as string,virtualTag as string,htmlTag as String)
Dim PatternTag as string = "\[" & virtualTag & "\](.*?)\[\/" & virtualTag & "\]" '"\[z\](.*?)\[\/z\]"
Dim ReplaceTag as string = "<" & htmlTag & ">$1</" & htmlTag & ">" '"$1"
testo = Replace(testo, Chr(10), "
")
Dim objRegExp As New System.Text.RegularExpressions.Regex(PatternTag)
while objRegExp.IsMatch(testo)
testo = objRegExp.Replace(testo,ReplaceTag)
end while
return testo
End Function
</script>
output
proviamo a mettere sotto stress il test, se funziona il continuo annidamento di grassetti.. , e altre sezioni ben formattate