bigsky Medlem sedan maj 2002 821 inlägg Frågan 8 nov. 2007 17:42 #1 Hur byter jag ut bildsökvägen <img src="http://www.hemsida.se/include/bild.gif " border="0" alt="Symbol">
med RegExp?
Sökvägen ligger i en databas och behöver väl egentligen inte bearbetas ytterliggare för att visas som en bild när innehållet i databasen skrivs ut. Men jag har fler RegExp-uttryck som verkar förstöra bildsökvägen, se nedan:
Function StripText(strPageText)
mDelimit = Chr(0)
Set Re = New RegExp
Re.Global = True
Re.IgnoreCase = True
Re.Pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
strPageText = Re.Replace(strPageText, "<a href=""mailto" & mDelimit & ":$1"">$1</a>")
Re.Pattern = "(http://|https://|ftp://|mailto:)(\S)(\S+)"
strPageText = Re.Replace(strPageText, "<a href=""$1$2" & mDelimit & "$3"" target=""_blank"">$2" & mDelimit & "$3</a>")
Re.Pattern = "(www\.(\S)(\S+))"
strPageText = Re.Replace(strPageText, "<a href=""http://$1"" target=""_blank"">$1</a>")
strPageText = Replace(strPageText, mDelimit, "")
Response.Write strPageText
End Function
P Peter S Medlem sedan dec. 2002 5 483 inlägg myPath 'innehåller sökvägen
set re = new regexp
re.global = true
re.ignorecase = true
re.pattern = "<img src=""(?:[^/]*/)*([^/""]+)"
result = re.replace(myInputString, "<img src=""" & myPath & "$1")
set re = nothing
bigsky Medlem sedan maj 2002 821 inlägg Hmm, sökvägen i "$1" blir bara "a>". Ingen bild visas.
hur ser din funktion i helhet ut nu då?
bigsky Medlem sedan maj 2002 821 inlägg P Peter S Medlem sedan dec. 2002 5 483 inlägg Det skulle ha ersatts. Testa t.ex. följande för sig:
myPath = "/My/Path/"
a = "<img src=""http://www.hemsida.se/include/bild.gif"" border=""0"" alt=""Symbol"">"
set re = new regexp
re.global = true
re.ignorecase = true
re.pattern = "<img src=""(?:[^/]*/)*([^/""]+)"
response.write re.replace(a, "<img src=""" & myPath & "$1")
P Peter S Medlem sedan dec. 2002 5 483 inlägg Du kan även lägga ovanstående kod i en egen funktion F och göra:
str = StripText(str)
str = F(str)
Dessutom skall StripText avslutas med
StripText = strPageText
...i stället för
Response.Write strPageText
bigsky Medlem sedan maj 2002 821 inlägg Men $1 ger fortfarande bara >a i sökväg, det är inte något fel i Pattern då?
Function StripText(strPageText)
mDelimit = Chr(0)
Set Re = New RegExp
Re.Global = True
Re.IgnoreCase = True
Re.Pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
strPageText = Re.Replace(strPageText, "<a href=""mailto" & mDelimit & ":$1"">$1</a>")
Re.Pattern = "(http://|https://|ftp://|mailto:)(\S)(\S+)"
strPageText = Re.Replace(strPageText, "<a href=""$1$2" & mDelimit & "$3"" target=""_blank"">$2" & mDelimit & "$3</a>")
Re.Pattern = "(www\.(\S)(\S+))"
strPageText = Re.Replace(strPageText, "<a href=""http://$1 "" target=""_blank"">$1</a>")
strPageText = Replace(strPageText, mDelimit, "")
Re.Pattern = "<img src=""(?:[^/]*/)*([^/""]+)"
strPageText = Re.Replace(strPageText, "<img src=""$1")
StripText = strPageText
Set Re = Nothing
End Function
P Peter S Medlem sedan dec. 2002 5 483 inlägg Helt rätt ;)
re.pattern = "<img src=""(?:[^/]*/)*?([^/""]+)"""
re.replace(request("t"), "<img src=""" & m & "$1""")