Ciao a tutti, ho guardato in giro, ma non ho trovato nulla che mi aiuti!
Ho questo problema:
devo trasformare una stringa di testo, nel quale è presente questo tag: [BCLINK]prova[/BCLINK] (BCLINK è un tag inventato)
e lo devo trasformare in un codice con un tag più complesso nel quale la parola prova viene inserito, esempio:
<...,SRC,'altro_termine.asp?altro_termine=prova', ...>prova</a> (... per sostituire una parte del codice per semplicità)

Pensavo alle Regexp ma non riesco a venirne fuori!!!
Mi potreste dare una mano???
Modificato da leloxml il 08 marzo 2006 15.02 -

Faccio della mia ignoranza una virtù per stimolare il cervello con soluzioni alternative.
......LELO
11.886 messaggi dal 09 febbraio 2002
Contributi
usa questa regexp per trovare il testo contenuto nei tuoi tag
\[tag\](.*)\[/tag\]

e sostituisci il risultato trovato con una cosa tipo
<a href="altro_termine.asp?altro_termine=$1">$1</a>

usa questa pagina per provare le tue regexp
http://www.regular-expressions.info/javascriptexample.html

Enjoy learning and just keep making
ma di base consiglieresti di mettere semplicemente un replace oppure trasformare l'intera stringa in array, controllare parola per parola e se il regexp.test è positivo effettuare il replace???


per ora ho scritto:
Function preparaTermine(Spiegazione)

'preparaTermine = Spiegazione
Set RegEx = New RegExp
RegEx.Pattern = \[BCLINK\](.*)\[/BCLINK\]
RegEx.Global = True
RegEx.IgnoreCase = True

preparaTermine = RegEx.Replace(Spiegazione, "<a href="altro_termine.asp?altro_termine=$1">$1</a>")

Set RegEx = Nothing

end function
ma da errore di sintassi su "RegEx.Pattern = \[BCLINK\](.*)\[/BCLINK\] "

Faccio della mia ignoranza una virtù per stimolare il cervello con soluzioni alternative.
......LELO
11.886 messaggi dal 09 febbraio 2002
Contributi

ma di base consiglieresti di mettere semplicemente un replace oppure trasformare l'intera stringa in array, controllare parola per parola e se il regexp.test è positivo effettuare il replace???

no, perchè vuoi controllare parola per parola? Certo, volendo puoi varlo, ma secondo me vale la pena spendere un po' di tempo per trovare una regexp che ti faccia la sostituzione.

prova così

<%
Function preparaTermine(Spiegazione)
Set RegEx = New RegExp
RegEx.Pattern = "\[BCLINK\]([\w ]*)\[/BCLINK\]"
RegEx.Global = True
RegEx.IgnoreCase = True

preparaTermine = RegEx.Replace(Spiegazione, "<a href=""altro_termine.asp?altro_termine=$1"">$1</a>")
End Function

stringa = "[BCLINK]link1[/BCLINK] altro testo [BCLINK]link2[/BCLINK]"
Response.Write preparaTermine(stringa)
%>

Enjoy learning and just keep making
SUPER: funziona perfettamente!
Grazie 1000

Faccio della mia ignoranza una virtù per stimolare il cervello con soluzioni alternative.
......LELO
come posso fare per distinguere caratteri speciali come &, (, ) o numeri tra i tag citati??

Cioè come faccio a leggere come come Pik&Roll, all'interno di [BCLINK]Pick&Roll[/BCLINK]???

Faccio della mia ignoranza una virtù per stimolare il cervello con soluzioni alternative.
......LELO
11.886 messaggi dal 09 febbraio 2002
Contributi
prova con questo pattern

RegEx.Pattern = "\[BCLINK\]([^\[]*)\[/BCLINK\]"

Enjoy learning and just keep making
Perfetto!

Faccio della mia ignoranza una virtù per stimolare il cervello con soluzioni alternative.
......LELO

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.