webForumDet fria alternativet
Logga in / Bli medlem

replaceproblem.

ASP

7 svar · 284 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? ;)

378 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
122 ms — deklarationer (db)
122 ms — hämta statistik (db)
127 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)