Avancerad replacefunktion?

ASP

5 svar · 879 visningar · startad av Kapten Haddock

Medlem sedan jan. 2006600 inlägg
Trådstart#1

Kan man göra replace funktionen lite mera dynamisk? Jag skulle behöva en kod som klarar av att ta bort http:// och domännamnet från en adress oberoende av hur lång den är. Nånting som skulle börja med HTTP:// och sluta vid nästa "/" tecken.

Medlem sedan okt. 20041 556 inlägg
#2

Sök i forumet på regexp* och använd ett liknande mönster: http://.+/

Medlem sedan jan. 2006600 inlägg
#3

Jag får inte A eller Ö från regexp, helt bortkollrad blir jag.

Medlem sedan dec. 2002299 inlägg
#4

Skriv koden! så ska vi se!

Medlem sedan jan. 2006600 inlägg
#5

Här är koden som jag tog från nån ASP sida och försökte modifiera, lade in den som 404 meddelande och skrev in en URL som inte skulle finnas, skulle detta funkat så skulle koden ha spottat ut nått som https://www.nyurl.fi/blablabla/

InitialString = Request.ServerVariables("QUERY_STRING")

Set RegularExpressionObject = New RegExp

With RegularExpressionObject
.Pattern = "http://.+/"
.IgnoreCase = True
.Global = True
End With

ReplacedString = RegularExpressionObject.Replace(InitialString, "www.nyurl.fi/")

Response.Write "Replaced " & InitialString & " with " & ReplacedString

Set RegularExpressionObject = nothing

Vad den spottar ut så är:

Replaced 404;http://www.gammalurl.se/main/swe/default.asp with 404;https://www.nyurl.fi/default.asp

Inte riktigt som planerat...

Medlem sedan jan. 2006600 inlägg
#6

Fixat det själv, denna kod så byter alla domännamn oavsett längd och skickar vidare till en annan domän med samma path:

nDomain = "http://www.domain.fi"
urlPath = Request.ServerVariables("QUERY_STRING")

InitialString = urlPath

Set RegularExpressionObject = New RegExp

With RegularExpressionObject
.Pattern = "404;http://.+?/"
.IgnoreCase = True
.Global = True
End With

ReplacedString = RegularExpressionObject.Replace(InitialString, "/")

Set RegularExpressionObject = nothing

newURL = nDomain & ReplacedString
response.Redirect newURL
250 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)