---
title: "RegExp slukar text, vadan detta?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/137228-regexp-slukar-text-vadan-detta"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Drunkenstein"
published: "2005-11-09T01:55:06.000Z"
updated: "2005-11-09T20:32:34.000Z"
replies: 9
views: 379
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/137228-regexp-slukar-text-vadan-detta"
---

# RegExp slukar text, vadan detta?

## #1 — Drunkenstein, 2005-11-09T01:55Z

Har problem med en RegExp kod, om jag postar <http://www.webforum.nu> genom ett forumlär så skrivs det ut rätt.

Men om jag däremot skriver tex "http://www.webforum.nu sdsdsd http://www.webforum.nu" (utan ") så skrivs detta ut: 

```
www.webforum.nu ...[url]www.webforum.nu[/url]
```

 och det vill jag ju inte. Nu undrar jag alltså vad som är fel, eller snarare vad mer är fel på detta? :D

```
Function Formatera(ByVal strText, ByVal lMaxLength)
	Dim objRegExp 'as object

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

  	strText = Server.HTMLEncode(strText)
	
	objRegExp.Pattern = "(http://|https://|ftp://)(\S)(\S+)"
	strText = objRegExp.Replace(strText, "<a href=""$1$2$3"" target=""_blank"">$2$3</a>")
	
	objRegExp.Pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
	strText= objRegExp.Replace(strText, "<a href=""mailto:$1"">$1</a>")
	
	objRegExp.Pattern = "\[URL=(.*?)\]((.|\s)*?)\[\/URL\]"
	strText = objRegExp.Replace(strText,"<a href=""$1"" TARGET=""_blank"">$2</a>")
	
	objRegExp.Pattern = "(<a[^>]+>)([\s\S]{20}?)([\s\S]+?)([\s\S]{15}?)(</a>)"
	strText = objRegExp.Replace(strText, "$1$2...$4$5")

	objRegExp.Pattern = "\[B\]((.|\s)*?)\[/B\]"
	strText = objRegExp.Replace(strText,"<B>$1</B>")

	objRegExp.Pattern = "\[I\]((.|\s)*?)\[/I\]"
	strText = objRegExp.Replace(strText,"<I>$1</I>")

	objRegExp.Pattern = "\[U\]((.|\s)*?)\[/U\]"
	strText = objRegExp.Replace(strText,"<U>$1</U>")

	objRegExp.Pattern = "\[RUBRIK\]((.|\s)*?)\[/RUBRIK\]"
	strText = objRegExp.Replace(strText,"<font size=""2""><strong><u>$1</u></strong></font>")
	
	objRegExp.Pattern = "(\S{" & lMaxLength & "})"
	strText = objRegExp.Replace(strText, "$1 ")
	
	strText = Replace(strText, vbcrlf, "<BR>" & vbcrlf)

	Formatera=strText
End Function
```

Och jag skriver ut det såhär (,60 är till för att bryta långa ord, kan det ha något med det att göra?):

```
strText = Request.Form("Text")
strText = Formatera(strText,60)
response.Write ""&strText&""
```

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

## #2 — emission, 2005-11-09T08:54Z

Den fjärde ersättningen förstör de tre första, eftersom den ersätter länkar.

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

## #3 — Drunkenstein, 2005-11-09T10:32Z

Ah, ok... Hmm, men hur ska jag göra för att lösa detta då? Jag är rätt sugan på att ha någon form av klipppta länkar så att man slipper oroa sig för att något ska bli galet om man lägger in länkar på ställen där det inte finns så mycket platts :/

Sen så måste jag väll endå ha de som finns över annars blir ju inte länkarna länkar? Utan dem så skrivs det ju bara ut text.

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

## #4 — Drunkenstein, 2005-11-09T18:46Z

Näe nu blir jag inte klok på detta, kan inte hitta något fel alls som gör så att texten skrivs ut som det gör, håller på att bli galen :/ Ingen annan som kan se något fel?

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

## #5 — Peter S, 2005-11-09T19:06Z

Hur vill du att resultatet skall bli?

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

## #6 — emission, 2005-11-09T19:18Z

Du borde med gott samvete kunna byta ut den fjärde till

```
objRegExp.Pattern = "(<a[^>]+>)([^<]{20})([^<]+)([^<]{15})(</a>)"
strText = objRegExp.Replace(strText, "$1$2...$4$5")
```

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

## #7 — Drunkenstein, 2005-11-09T19:55Z

Peter S:
Rätt :D Nämen nu skrivs ju texten ut fel, texten mellan länkarna blir ju helt galen.

emission:
Ok, ska testa och se!

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

## #8 — Drunkenstein, 2005-11-09T20:01Z

emission:
Med din kod så blev det lite tokigt på ett annat vis. Skriver jag såhär i forumläret och postar det:

```
[url]http://www.webforum.nu[/url] testar [url]http://www.webforum.nu[/url]
```

Så skrivs det ut såhär:

```
http://www.webforum.nu" target="_blank">[url]www.webforum.nu[/url] testar http://www.webforum.nu" target="_blank">[url]www.webforum.nu[/url]
```

Det var inte riktigt bra det.

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

## #9 — emission, 2005-11-09T20:21Z

Jag provade precis din kod med min ändring, och den fungerade fint. Är du säker på att du inte gjort något mer?

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

## #10 — Drunkenstein, 2005-11-09T20:32Z

Kom på att jag försökte på mig något annat men nu funkar allt prima! Tack så väldigt mycket!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/137228-regexp-slukar-text-vadan-detta
