---
title: "funktion..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/46088-funktion"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "henrikjohansson"
published: "2002-06-17T13:49:48.000Z"
updated: "2002-06-18T09:25:01.000Z"
replies: 6
views: 314
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/46088-funktion"
---

# funktion...

## #1 — henrikjohansson, 2002-06-17T13:49Z

Jag har skrivit en funktion som skall byta ut alla farliga tecken mot "bra" koder och som skall göra om alla länkar och emailadresser till länkar... Jag löste det så här men jag tänkte bara fråga er experter om detta är en bra lösning eller om den belastar servern mycket om det är mycket text som skall hanteras..

```
Function FixaLankar(gString)

dim Tmp
if isnull(gstring) then exit function

gString = Server.HTMLEncode(gString)

Tmp = split(gString," ")

for x = 1 to Ubound(Tmp)

	if lcase(left(Tmp(x),3)) = "www" then
		Tmp(x) = "<a href=" & """" & "http://" & Tmp(x) & """" & ">" & Tmp(x) & "</a>"
	elseif lcase(left(Tmp(x),7)) ="http://" then
		Tmp(x) = "<a href=" & """" & Tmp(x) & """" & ">" & Tmp(x) & "</a>"
	elseif instr(Tmp(x),"@") <> 0 then
		if Tmp(x) = "h_johansson83@hotmail.com" then
			Tmp(x) = "<a href=" & """" & "index.asp?sida=skicka" & """" & ">" & Tmp(x) & "</a>"
		else
			Tmp(x) = "<a href=" & """" & "mailto:" & Tmp(x) & """" & ">" & Tmp(x) & "</a>"
		end if
	end if
temp = temp & " " & Tmp(x)
next

FixaLankar = temp

End Function
```

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

## #2 — Erik Juhlin, 2002-06-17T20:57Z

Borde nog vara bättre o göra med regulära uttryck. :)

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

## #3 — Gein, 2002-06-17T21:09Z

jo, regexp skulle nog vara bättre, det går väl fortare oxå..

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

## #4 — henrikjohansson, 2002-06-18T07:20Z

ok

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

## #5 — henrikjohansson, 2002-06-18T09:04Z

Detta blev lite smidigare och är nog mycket snabbare också..

```
function HE(strText)

strText = Server.HTMLEncode(strText & "")
mDelimit = Chr(0)
        Set re = New RegExp
        re.Global = True
        re.IgnoreCase = true
        re.Pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
        strText = re.Replace(strText, "<a href=""mailto" & mDelimit & ":$1"">$1</a>")
        
        re.Pattern = "([url]http://[/url]|[url]https://[/url]|[url]ftp://[/url]|mailto:)(\S)(\S+)"
        strText = re.Replace(strText, "<a href=""$1$2" & mDelimit & "$3"">$2" & mDelimit & "$3</a>")
        
        re.Pattern = "(www\.(\S)(\S+))"
        strText = re.Replace(strText, "<a href=""http://$1"">$1</a>")
        
        strText = Replace(strText, mDelimit, "")

	HE = strText

end function
```

Ni får gärna komma med ideer och synpunkter på koden.. kan juh tilllägga att jag snott koden :)  och gjort några småändringar så den passar mig.. 

Klarar den här koden alla farliga tecken? Kommer den vid några tillfällen att bugga?

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

## #6 — OveRRidE, 2002-06-18T09:14Z

> Kommer den vid några tillfällen att bugga?

Testa, testa och testa. :)

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

## #7 — henrikjohansson, 2002-06-18T09:25Z

Jag gjorde så här och det verkade fungera :)

Kan man få fler skumma tecken.. ?

```
for x = 1 to 255
hej = hej & chr(x)
next

hej = hej & " [url]www.altavista.com[/url]"

response.write HE(hej)
```

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

---

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