---
title: "Byt ut bildsökväg med RegExp"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/166234-byt-ut-bildsökväg-med-regexp"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "bigsky"
published: "2007-11-08T17:42:55.000Z"
updated: "2007-11-08T19:38:18.000Z"
replies: 9
views: 705
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/166234-byt-ut-bildsökväg-med-regexp"
---

# Byt ut bildsökväg med RegExp

## #1 — bigsky, 2007-11-08T17:42Z

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
```

Permalänk: https://www.webforum.nu/p/166234

## #2 — Peter S, 2007-11-08T17:52Z

```
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
```

Permalänk: https://www.webforum.nu/p/2050378

## #3 — bigsky, 2007-11-08T18:26Z

Hmm, sökvägen i "$1" blir bara "a\>". Ingen bild visas.

Permalänk: https://www.webforum.nu/p/2050384

## #4 — voigtann1, 2007-11-08T18:39Z

hur ser din funktion i helhet ut nu då?

Permalänk: https://www.webforum.nu/p/2050387

## #5 — Peter S, 2007-11-08T18:41Z

Vad står i src?

Permalänk: https://www.webforum.nu/p/2050388

## #6 — bigsky, 2007-11-08T18:41Z

I src står det <http://www.hemsida.se/include/bild.gif>

Permalänk: https://www.webforum.nu/p/2050389

## #7 — Peter S, 2007-11-08T18:48Z

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")
```

Permalänk: https://www.webforum.nu/p/2050393

## #8 — Peter S, 2007-11-08T18:53Z

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
```

Permalänk: https://www.webforum.nu/p/2050394

## #9 — bigsky, 2007-11-08T19:23Z

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

Permalänk: https://www.webforum.nu/p/2050397

## #10 — Peter S, 2007-11-08T19:38Z

Helt rätt ;) 

```
re.pattern = "<img src=""(?:[^/]*/)*?([^/""]+)"""
re.replace(request("t"), "<img src=""" & m & "$1""")
```

Permalänk: https://www.webforum.nu/p/2050401

---

Tråden på webben: https://www.webforum.nu/amne/asp/166234-byt-ut-bildsökväg-med-regexp
