---
title: "regexp. Byta ut allt som hamnar \"mellan\" träffarna"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/123778-regexp-byta-ut-allt-som-hamnar-mellan-träffarna"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "peppar"
published: "2005-03-05T11:43:57.000Z"
updated: "2005-03-06T08:29:51.000Z"
replies: 1
views: 254
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/123778-regexp-byta-ut-allt-som-hamnar-mellan-träffarna"
---

# regexp. Byta ut allt som hamnar "mellan" träffarna

## #1 — peppar, 2005-03-05T11:43Z

Har en funktion som skall formatera en utskrift från ett formulär. Den ser ut så här ungefär:

```
Function ReplaceTags(strPattern, strReplace, strSource)
  Dim objRX
  set objRX = New RegExp
  objRX.IgnoreCase = True
  objRX.Global = True
  objRX.Pattern = strPattern

  ReplaceTags = objRX.Replace(strSource, strReplace)
End Function

strText = request.form("test")

'## -- Byt ut h[1-6]. mot validerande (x)html
strText = ReplaceTags("\h1. ((.|\s)*)\r", "<h1>$1</h1>", strText)
strText = ReplaceTags("\h2. ((.|\s)*)\r", "<h2>$1</h2>", strText)
strText = ReplaceTags("\h3. ((.|\s)*)\r", "<h3>$1</h3>", strText)
strText = ReplaceTags("\h4. ((.|\s)*)\r", "<h4>$1</h4>", strText)
strText = ReplaceTags("\h5. ((.|\s)*)\r", "<h5>$1</h5>", strText)
strText = ReplaceTags("\h6. ((.|\s)*)\r", "<h6>$1</h6>", strText)

'## -- Byt ut !em.emfaserat#em. -> <em>emfaserat</em>
strText = ReplaceTags("\!em.((.|\s)*)\#em.", "<em>$1</em>", strText)

'## -- Byt ut !i.italic#i. -> <i>Italic</i>
strText = ReplaceTags("\!i.((.|\s)*)\#i.", "<i>$1</i>", strText)
```

 osv.
Jag vill få allt som är "omärkt" från formulärspostningen att hamna i en "\<p\>\</p\>". 
Det bör väl vara så att efter ett radbryt så sätts \<p\>, sen borde den leta efter en \<h\[1-6\]\>, \<img\> , eller en ny radbrytning och innan dom sätta slut \</p\>

Men, kan man gör ett enkelt (!) pattern för detta ändamål (jag har inte lyckats)... Kan man lägga in dom taggar man vill leta efter i en array och sedan använda den i sitt pattern? Om...? Hur gör man det?

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

## #2 — peppar, 2005-03-06T08:29Z

Har provat mig fram lite med varierande resultat. Så här ser det ut nu:

```
strText = ReplaceTags("(</h1>)|(</h2>)|(</h3>)|(</h4>)|(</h5>)|(</h6>)|(</img>)((.|\s)*)(<h1>)|(<h2>)|(<h3>)|(<h4>)|(<h5>)|(<h6>)|(<img>)", "$1<p></p>", strText)
```

 

resultatet blir då 

```
<h1>rubrik
nytt stycke</h1><p></p>
```

 Fast jag vill att det skal bli 

```
<h1>rubrik</h1>
<p>Nytt stycke</p>
```

Vad är det som är galet?

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/123778-regexp-byta-ut-allt-som-hamnar-mellan-träffarna
