---
title: "Regexp fråga"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/87880-regexp-fråga"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Melea"
published: "2003-10-07T10:28:49.000Z"
updated: "2003-10-08T13:04:01.000Z"
replies: 21
views: 362
page: 1
pages: 2
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/87880-regexp-fråga"
---

# Regexp fråga

_Sida 1 av 2._

## #1 — Melea, 2003-10-07T10:28Z

Hejsan!

har sökt och letat i forumet men inte hittat hur man gör en funktion som tar bort alla \< och \> taggar som finns innanför \[ kod\] och \[ /kod\] taggarna. någon vänlig själ som vill hjälpa mig med detta?

mvh

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

## #2 — Fredde Mannen, 2003-10-07T10:41Z

Re: Regexp fråga

> **Melea skrev:**
>
> Hejsan!
> 
> har sökt och letat i forumet men inte hittat hur man gör en funktion som tar bort alla \< och \> taggar som finns innanför \[ kod\] och \[ /kod\] taggarna. någon vänlig själ som vill hjälpa mig med detta?
> 
> mvh

alltså tar bort dem helt eller bara gör om dem med Server.HtmlEncode??
I sådana fall:

```
Function Konvert(svalue)
Dim RegExp
Set RegExp = New RegExp

With RegExp
.Global = True
.IgnoreCase = True
.Pattern = "\[kod\](*.?)[/kod\]"
End With

Konvert = RegExp.Replace(svalue,Server.HTMLEncode("$1"))
End function
```

Kanske?? :q

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

## #3 — Melea, 2003-10-07T10:41Z

skulle helst vilja replace'a dem med &lt; och &gt; eftersom jag har annan sorts kod på sidan också.

mvh

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

## #4 — Fredde Mannen, 2003-10-07T10:46Z

> **Melea skrev:**
>
> skulle helst vilja replace'a dem med &lt; och &gt; eftersom jag har annan sorts kod på sidan också.
> 
> mvh

det är vad Server.HTMLEncode gör, den ersätter \< \> med &lt; &gt;, dvs säga så att inga HTML-taggar kan förstöra din kodning!

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

## #5 — Melea, 2003-10-07T10:54Z

Hm får felmeddelandet:

Feltyp:
Körningsfel i Microsoft VBScript (0x800A139A)
Oväntad kvantifierare

Såhär ser koden ut:

```
<%
Function textEncode(str)
  str = Replace(str, "'","''")

  Set objRegExp = New regexp
  objRegExp.Global = true
  objRegExp.IgnoreCase = true

  objRegExp.Pattern = "\[kod\](*.?)[/kod\]"
  str = objRegExp.Replace(str,Server.HTMLEncode("$1"))

   textEncode = str

End function
%>
```

Tacksam för svar

Mvh

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

## #6 — Fredde Mannen, 2003-10-07T10:56Z

Blubber... testa och ändra till (.\*) istället för frågetecknet! :OO

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

## #7 — Melea, 2003-10-07T10:58Z

Hm...

Feltyp:
Körningsfel i Microsoft VBScript (0x800A139B)
Förväntade "\]" i reguljärt uttryck

 :OO

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

## #8 — Engine^, 2003-10-07T11:00Z

Du har bara råkat missa en backslash...

```
objRegExp.Pattern = "\[kod\](*.)\[/kod\]"
```

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

## #9 — Melea, 2003-10-07T11:01Z

:OO

Konstigt nog får jag fortfarande:

Feltyp:
Körningsfel i Microsoft VBScript (0x800A139A)
Oväntad kvantifierare

på samma rad som:

objRegExp.Pattern = "\\\[kod\\\](\*.)\\\[/kod\\\]"

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

## #10 — Fredde Mannen, 2003-10-07T11:02Z

> **Melea skrev:**
>
> :OO
> 
> Konstigt nog får jag fortfarande:
> 
> Feltyp:
> Körningsfel i Microsoft VBScript (0x800A139A)
> Oväntad kvantifierare

Vilken version på scriptmotorn har du?

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

## #11 — Engine^, 2003-10-07T11:04Z

Oj... punkten ska ju vara före stjärnan... :)

```
objRegExp.Pattern = "\[kod\](.*)\[/kod\]"
```

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

## #12 — Melea, 2003-10-07T11:05Z

Om du menar webservern så har jag Windows XP IIS5.

Jag fick igång det genom:

```
<%
Function textEncode(str)
  str = Replace(str, "'","''")

  Set objRegExp = New regexp
  objRegExp.Global = true
  objRegExp.IgnoreCase = true

  objRegExp.pattern = "\[kod\]((.|\n)+?)\[/kod\]"
  str = objRegExp.Replace(str,Server.HTMLEncode("$1"))

  textEncode = str

End function
%>
```

/Red Det var inget :OO

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

## #13 — Fredde Mannen, 2003-10-07T11:11Z

Det jag menade var vilken version har du på Microsoft Script Motor, vissa regexp brukar inte funka i ex. 5.1 

Dvs, då får du reda på script motor..

```
<% 
response.write scriptenginemajorversion & "." & Scriptengineminorversion 
%>
```

Men annars mönster 

```
\[kod\](*.?)\[/kod\]
```

Bör väl funka??

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

## #14 — Melea, 2003-10-07T11:20Z

Har version 5.6...

Men nu får ni ursäkta min dumhet :)

Står alldeles still i huvet på mig, får inte saken att fungera...
När jag includerar

```
<%

Function textEncode(str)

  str = Replace(str, "'","''")

  Set objRegExp = New regexp
  objRegExp.Global = true
  objRegExp.IgnoreCase = true

  objRegExp.Pattern = "\[kod\](.*)\[/kod\]"
  str = objRegExp.Replace(str,Server.HTMLEncode("$1"))

  textEncode = str

End function
%>
```

högst upp på t.ex. kurs_add.asp och kör koden i kurs_add.asp som ser ut såhär:

```
<!-- #include file="funktioner.asp" -->
<%
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &Server.MapPath("../db/aspkurs.mdb")

dim strkursnamn, strkategori, strkurs
strkursnamn = Request.Form("kursnamn")
strkategori = Request.Form("kategori")
strkurs = textEncode(Request.Form("kurs"))

sql = " insert into aspkurs(kursnamn, kategori, kurs) " & " values('" & strkursnamn & "','" & strkategori & "','" & strkurs & "') "
Conn.Execute sql,,128

Conn.Close
Set Conn = Nothing

Response.Redirect "../admin.asp?visa=inloggad&kurser=kurs_add&add=kurs"
%>
```

så händer det ingenting? \[ kod\] - taggarna står kvar och allt som står där innanför visas inte på kurs.asp där jag skriver ut det genom

```
<%
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &Server.MapPath("db/aspkurs.mdb")

SQL = "Select * From aspkurs where ID = " & Request.Querystring("kursID") & " "
Set RecSet = Conn.Execute(SQL)
%>

<%=Replace(RecSet("kurs"),vbCrLf,"<br>")%>

<%
Conn.Close
Set Conn = Nothing

Set RecSet = Nothing
%>
```

Vad gör jag för fel? :OO

Tack på förhand!
Mvh

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

## #15 — Melea, 2003-10-07T12:05Z

Ingen? \*känner mig dum\* :OO

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

## #16 — Fredde Mannen, 2003-10-07T12:22Z

Vad händer om du flyttar TextEncode från innan inläggningen i databasen till efter när du skriver ut! 

\<%=TextEncode(Replace(RecSet("kurs"),vbCrLf,"\<br\>"))%\>
 :q

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

## #17 — Melea, 2003-10-07T12:32Z

Ingenting, det ända som skrivs ut är \[ kod\] - taggarna och inte koden mellan taggarna...

```
<%

Function textEncode(str)

  Set objRegExp = New regexp
  objRegExp.Global = true
  objRegExp.IgnoreCase = true

  objRegExp.Pattern = "\[kod\](.*)\[/kod\]"
  str = objRegExp.Replace(str,Server.HTMLEncode("$1"))

  str = Replace(str, vbcrlf, "<BR>" & vbcrlf) 

  textEncode = str

End function
%>
```

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

## #18 — Melea, 2003-10-07T14:49Z

Hm! Fått lite klarhet i det nu ändå men problemet kvarstår.

Jag använder koden när jag hämtar datan från databasen och den ser ut såhär:

```
<%

Function textEncode(str)

  Set objRegExp = New regexp
  objRegExp.Global = true
  objRegExp.IgnoreCase = true

  objRegExp.Pattern = "\[kod\]([^\[]*)\[/kod\]"
  str = objRegExp.Replace(str, "[ kod]" & Server.HTMLEncode("$1") & "[ /kod]")

  str = Replace(str, vbcrlf, "<BR>" & vbcrlf) 

  textEncode = str

End function
%>
```

Problemet är att när jag använder koden skriver den **bara** ut \[ kod\] och \[ /kod\] - taggarna, inte innehållet däri.

Står det fel i koden någonstans?

Mvh

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

## #19 — Sebbe, 2003-10-07T15:13Z

Jo, innehållet skrivs visst ut, om du kollar i källan! ;)
Det är bara det att Server.HTMLEncode() inte verkar vilja funka.

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

## #20 — Melea, 2003-10-07T15:14Z

Precis! Helskumt :OO
Har testat koden på Loopias webserver nu också men det gör ingen skillnad...

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/87880-regexp-fråga  
Nästa sida: https://www.webforum.nu/amne/asp/87880-regexp-fråga/page2.md
