---
title: "Replacekod"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/131225-replacekod"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Asa"
published: "2005-07-09T21:52:27.000Z"
updated: "2005-07-11T20:40:57.000Z"
replies: 17
views: 548
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/131225-replacekod"
---

# Replacekod

## #1 — Asa, 2005-07-09T21:52Z

Varför funkar ej denna så att \<br\> gör en radbrytning samt varför \<hr\> inte blir en linje? En till rad i loopen behövs va? Och hur skriver man den??

```
<%
strVippis = 1 

Function BlockUnAllowedHTML(ByVal sStr)
	Dim vAllowedHTML, i, objRegExp
	'Om användare är VIP
	if strVIPPIS = 1 Then
		vAllowedHTML = Array("b","u","br","fieldset","legend","hr","strong","code","font","span")
	else
		vAllowedHTML = Array("b","u","br")
	end if
	sStr = Server.HTMLEncode(sStr & "")
	
	Set objRegExp = New RegExp
	objRegExp.IgnoreCase = True
	objRegExp.Global = True
	
	For i = 0 To UBound(vAllowedHTML)
		objRegExp.Pattern = "&lt;(" & vAllowedHTML(i) & ")&gt;([\s\S]*?)&lt;/(" & vAllowedHTML(i) & ")&gt;"
		sStr = objRegExp.Replace(sStr, "<$1>$2</$3>")

		objRegExp.Pattern = "&lt;(" & vAllowedHTML(i) & ".*?)&gt;([\s\S]*?)&lt;/(" & vAllowedHTML(i) & ")&gt;"
		sStr = objRegExp.Replace(sStr, "<$1>$2</$3>")
	Next 'i
	
	Set objRegExp = Nothing
	BlockUnAllowedHTML = sStr
End Function

str = "Hej <font face=verdana size=1>HEJ</font><br>Hejsan"

Response.write BlockUnAllowedHTML(str)
%>
```

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

## #2 — Asa, 2005-07-09T21:58Z

Jag la till denna rad i loopen :)

```
		objRegExp.Pattern = "&lt;(" & vAllowedHTML(i) & ")&gt;"
		sStr = objRegExp.Replace(sStr, "<$1>")
```

Då funkade det :)

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

## #3 — Asa, 2005-07-09T22:31Z

Men img koden fungerar inte. Om jag lägger \</img\> gör den det. 

Sen vill jag att man skall kunna skriva " i koden utan felmeddelanden. (Funkar om man hämtar från databas.)

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

## #4 — Guffa, 2005-07-09T23:33Z

Du saknar den fjärde varianten. Du har:

\<x\>...\</x\>
\<x...\>...\</x\>
\<x\>

Men du saknar:

\<x...\>

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

## #5 — Asa, 2005-07-10T08:47Z

Jaa, men hur skriver man den tro??

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

## #6 — voigtann1, 2005-07-10T08:49Z

Ska både VIP och vanliga användare kunna användar IMG

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

## #7 — Asa, 2005-07-10T08:52Z

Jepp, det skall dom kunna! Så har jag iallafall idag!

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

## #8 — SannyW, 2005-07-10T09:38Z

Lägg till denna:

```
		objRegExp.Pattern = "&lt;(" & vAllowedHTML(i) & ".*?)&gt;"
		sStr = objRegExp.Replace(sStr, "<$1>")
```

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

## #9 — Asa, 2005-07-10T09:48Z

Tackar för det. Funkade fint :)

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

## #10 — Asa, 2005-07-11T13:35Z

Hela koden:

```
Function FixedCode(ByVal sStr,strVippis)
Dim vAllowedHTML, i, objRegExp
'Om användare är VIP
if strVippis = 1 Then
vAllowedHTML = Array("b","u","i","br","fieldset","legend","hr","strong","fo nt","span","a","div","img","h1","h2","h3","h4","big","table" ,"tr","td")
else
vAllowedHTML = Array("b","u","i","br","hr","font","a","img","h1","h2","h3", "h4","big")
end if
sStr = Server.HTMLEncode(sStr & "")
sStr = Replace(sStr,vbCrLf, "<br>")

Set objRegExp = New RegExp
objRegExp.IgnoreCase = True
objRegExp.Global = True

For i = 0 To UBound(vAllowedHTML)
objRegExp.Pattern = "&lt;(" & vAllowedHTML(i) & ")&gt;([\s\S]*?)&lt;/(" & vAllowedHTML(i) & ")&gt;"
sStr = objRegExp.Replace(sStr, "<$1>$2</$3>")

objRegExp.Pattern = "&lt;(" & vAllowedHTML(i) & ".*?)&gt;([\s\S]*?)&lt;/(" & vAllowedHTML(i) & ")&gt;"
sStr = objRegExp.Replace(sStr, "<$1>$2</$3>")

objRegExp.Pattern = "&lt;(" & vAllowedHTML(i) & ")&gt;"
sStr = objRegExp.Replace(sStr, "<$1>")

objRegExp.Pattern = "&lt;(" & vAllowedHTML(i) & ".*?)&gt;"
sStr = objRegExp.Replace(sStr, "<$1>")
Next 'i

Set objRegExp = Nothing
FixedCode = sStr
End Function
```

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

## #11 — Asa, 2005-07-11T14:49Z

Men man verkar inte kunna använda " taggen! Nån som vet varför?

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

## #12 — Guffa, 2005-07-11T15:27Z

> **Asa skrev:**
>
> " taggen

Vad menar du?

Vad du nu är, varför verkar det så? Symptom? Får du något felmeddelande?

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

## #13 — Asa, 2005-07-11T15:40Z

När man skriver ex en länk så här \<a href="http://www.sidan2.se"\>TEST\</a\> så  blir inte länken rätt utan det blir ex <http://www.sidan.se/>"http://www.sidan2.se"

Sen vid ex font color så blir det fel färg. Skriver jag \<font color="red"\> visas den som grön. Utan " taggarna funkar det utan problem.

Vill att det skall funka vilket sätt man än skriver på.

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

## #14 — Guffa, 2005-07-11T19:32Z

Aha. Det beror på att citattecknen är html-kodade till &amp;quot;. Koden du får ut blir alltså:

\<a href=&amp;quot;<http://www.sidan2.se&amp;quot;>\>TEST\</a\>

Du får konvertera tillbaka även det som matchas av den första parentesen.

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

## #15 — Asa, 2005-07-11T19:34Z

Okej, skall se om jag kan fixa det. Tackar för svaret.

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

## #16 — Melitta, 2005-07-11T20:31Z

> **Asa skrev:**
>
> Okej, skall se om jag kan fixa det. Tackar för svaret.

Om du nu inte fått stil på det så kan du byta:

```
sStr = objRegExp.Replace(sStr, "<$1>$2</$3>")
```

mot

```
sStr = replace(objRegExp.Replace(sStr,"<$1>$2</$1>"),"& quot;","""")
```

Tror att det ska fungera. ta bort mellanrummet mellan & qout;

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

## #17 — Asa, 2005-07-11T20:37Z

Tackar, skall testa!

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

## #18 — Asa, 2005-07-11T20:40Z

Man fick lägga replacekoden vid denna:

FixedCode = replace(sStr,"&quot;","""")

Då funkade det fint

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/131225-replacekod
