replaceproblem.

ASP

7 svar · 288 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Trådstart#1

Hur får jag denna replace att funka? Regexp?

str="text text **alert('hej')**/ text text"
str=replace(str,"**","<script>**") 
response.write replace(str,"**/","**</script>")

Alltså "**" skall bytas ut till "<script>**" och "**/" skall bytas ut till "**</script>".

Medlem sedan juni 200032 967 inlägg
#2

Det går bra utan regexp också. Se bara till att du replacear **/ innan **.

Mvh

Medlem sedan nov. 20017 144 inlägg
#3

Öhhh, men detta...

str="text text **alert('hej')**/ text text"
str=replace(str,"**/","**</script>") 
response.write replace(str,"**","<script>**")

...ger ju detta resultat då:
<script>**alert('hej')<script>**</script>
Och det blir ju fel... :(

Medlem sedan juni 200032 967 inlägg
#4

Vad ska du behålla stjärnorna till :q

Medlem sedan nov. 20017 144 inlägg
#5

En javascripthemlis... *nyfiken i en strut* :p

Medlem sedan juni 200032 967 inlägg
#6

Om du inte vill berätta så är det svårt att komma med vettiga alternativ...

str="text text **alert('hej')**/ text text"
str=replace(str,"**/","|||</script>") 
str = replace(str,"**","<script>**")
response.write replace(str, "|||", "**")

Jag föredrar fuskiga lösningar, om alternativet är regexp. ;)

Medlem sedan nov. 20017 144 inlägg
#7

Tack Anders. Här kommer en ledtråd

Medlem sedan juni 200032 967 inlägg
#8

Jag förstår ändå inte varför du ska behålla stjärnorna efter replacen. Du kan väl använda något annat tecken om det ändå bara ska användas som separator? Det behöver ju inte vara samma separator före / efter replacen? ;)

212 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
100 ms — deklarationer (db)
0 ms — hämta statistik (cache)
102 ms — hämta tråd, inlägg och bilagor (db)
103 ms — ändringar (db)