---
title: "Replace Funktion"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/154318-replace-funktion"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Vinnaren"
published: "2006-11-28T20:52:34.000Z"
updated: "2008-11-15T21:28:38.000Z"
replies: 13
views: 1036
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/154318-replace-funktion"
---

# Replace Funktion

## #1 — Vinnaren, 2006-11-28T20:52Z

Hej

Jag skulle behöva hjälp med en Replace Funktion.

Den ska kolla igenom alla textrutorna på sidan som sparas i databasen efter flera olika ord som sedan ska ersättas med något annat.
tex. Kalle --\>  Anka

Undrar då hur man gör en sådan på smidigaste sättet?

Tacksam för all hjälp   :bire

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

## #2 — voigtann1, 2006-11-28T20:57Z

```
dim orginalstring
orginalstring = "Kalle"
response.write replace(orginalstring,"Kalle","Anka")
```

kan även göras med en array..

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

## #3 — Vinnaren, 2006-11-28T21:07Z

ok, men hade mer tänkt att den skulle se ut såhär:

Function SafeSQL(strText) 
	SafeSQL = Replace(strText, "'", "''") 
End function

så man kan tex anropa den sen. Men hur gör man om man ska ersätta flera ord som ev kan finnas med i textfälten? (i samma funktion)
tex. 
Kalle --\>Anka
Kalle1 --\> Anka1
osv
  :q

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

## #4 — voigtann1, 2006-11-28T21:11Z

just nu kommer den ta allt med Kalle att göra och ersätta..
du kan göra en array också.. om du vill ha Musse --\> Pigg , Mimmi --\> Mrs.Pigg etc..

du får köra en split på de ord du vill leta och de ord du ska ersätta träffen med... dock måste det vara lika många i båda arrayerna :D

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

## #5 — Travoni, 2006-11-28T21:12Z

```
Function myReplace(strText)
    Dim tmp
    tmp = Replace(strText, "'", "''") 
    tmp = Replace(tmp, " Karl ", " Kalle ")
    tmp = Replace(tmp, " Bo ", " Bosse ")
    tmp = Replace(tmp, " Hans ", " Hasse ")
    'Fortsätt att fylla på med flera här...
    myReplace = tmp
End function
```

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

## #6 — voigtann1, 2006-11-28T21:17Z

> **Travoni skrev:**
>
> ```
> Function myReplace(strText)
>     Dim tmp
>     tmp = Replace(strText, "'", "''") 
>     tmp = Replace(tmp, " Karl ", " Kalle ")
>     tmp = Replace(tmp, " Bo ", " Bosse ")
>     tmp = Replace(tmp, " Hans ", " Hasse ")
>     'Fortsätt att fylla på med flera här...
>     myReplace = tmp
> End function
> ```

inte så bra att använda " Karl " då meningen kan börja med "Karl heter en man" .. då kommer den aldrig träffar det...
Går att lösa med Reg.Exp så att det blir ordbundet..

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

## #7 — voigtann1, 2006-11-28T21:20Z

```
Function myReplace(strText)
strText = replace(strText,"'","''")
With New RegExp
   .Global = True
   .IgnoreCase = True

   .Pattern = "^(Karl)$"
   strText = .Replace(strText ,"Kalle")

   .Pattern = "^(Bo)$"
   strText = .Replace(strText ,"Bosse")

End With
myReplace = strText
end function
```

då kommer även kArL men inte karl1 träffas...

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

## #8 — Vinnaren, 2006-12-04T13:12Z

kan man göra så man kopplar denna till en databas som man kan lägga in ord som inte får anv i gästboken? Om man tex har fällten repOrd och repAndratill i tabellen andraord.
Så man inte kan skicka in massa javascript kod som körs i gästboken och andra otrevliga ord.

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

## #9 — voigtann1, 2006-12-04T14:47Z

jo... klart du kan...

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

## #10 — Vinnaren, 2006-12-04T16:49Z

haha, oki, men hur? ska man loopa fram 
.Pattern = "^(Karl)$"
strText = .Replace(strText ,"Kalle")
massa gånger då? (namnet byts då mot fälltnamnen)

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

## #11 — Peter S, 2006-12-04T17:41Z

Om ingen HTML får användas kanske Server.HTMLEncode() tål att ses över.

Vill du förbjuda vissa taggar kan följande brukas

```
set re = new regexp
re.pattern = "<(script|object|table)"
re.global = true
re.ignorecase = true
txt = re.replace(txt, "&lt;$1")
re.pattern = "</(script|object|table)"
txt = re.replace(txt, "&lt;/$1")
set re = nothing
```

Om du har en tabell (som du beskriver ovan):

```
set rs = ...
if not rs.eof then
  set re = new regexp
  re.global = true
  re.ignorecase = true
  do while not rs.eof
    re.pattern = "\b" & rs("repOrd") & "\b"
    txt = re.replace(txt, rs("repAndraTill"))
    rs.movenext
  loop
  set re = nothing
end if
```

om jag förstått din tabelldesign rätt.

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

## #12 — Vinnaren, 2006-12-04T18:37Z

ok, tackar   :p

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

## #13 — brorsan, 2008-11-15T18:31Z

Denna såg väldigt liten och smidig ut. 

```
dim orginalstring
orginalstring = "Kalle"
response.write replace(orginalstring,"Kalle","Anka")
```

Men om orginalstring är ="images

Hur får man till det då? 

```
dim orginalstring
orginalstring = "="images"
response.write replace(orginalstring,"="images","="../images")
```

Lär ju inte fungera vad? Kan man köra dubbla "" eller nåt annat för att få det att fungera?

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

## #14 — voigtann1, 2008-11-15T21:28Z

```
dim orginalstring
orginalstring = "=""images"
response.write replace(orginalstring,"=""images","=""../images")
```

eftersom " bryter strängen så måste du använda dig av "" för "

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/154318-replace-funktion
