---
title: "Pussla ihop forumlänkkoderna"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/153732-pussla-ihop-forumlänkkoderna"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "brorsan"
published: "2006-11-14T00:14:01.000Z"
updated: "2006-11-14T10:59:09.000Z"
replies: 5
views: 317
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/153732-pussla-ihop-forumlänkkoderna"
---

# Pussla ihop forumlänkkoderna

## #1 — brorsan, 2006-11-14T00:14Z

Med tanke på att jag inte har pluggat asp är det här svårt. skulle vara supertacksam om nån ville hjälpa till att pussla ihop detta. 

Mitt mål är att allt som börjar på http://  ftp:// news:// mailto: och helst även www. ska bli en länk och att denna länk ska kortas ned till max 40 tecken per rad. Nedkortningen kan ske genom att mittendelar av länken göms eller ännu hellre genom att den länk man ser radbryts på var 40:de tecken medans länken man skickas till hålls intakt. 

Jag har t.ex hittat de här koderna i andra trådar men vet inte hur jag pusslar ihop dem med det jag har. Variant 1:

```
<%= convertlinks(RS("Text"))%>

'----------------------------------------------------
' * ConvertLinks *
' Fixa så att länkar blir länkade i HTML-koden.
' Nedanstånde kod kommer från [url]www.ojmnet.com[/url] 
'----------------------------------------------------
Function ConvertLinks(svalue)
svalue = ConvertLinksHREF(svalue, "http://")
svalue = ConvertLinksHREF(svalue, "ftp://")
svalue = ConvertLinksHREF(svalue, "news://")
svalue = ConvertLinksHREF(svalue, "mailto:")
ConvertLinks = svalue
End Function

Function ConvertLinksHREF(svalue, sHREF)
Dim iPos1, iPos2, sTemp, sTemp1, sTemp2
iPos2 = 1
iPos1 = InStr(1, svalue, sHREF, 1)
Do While iPos1 > 0
iPos2 = FindLinkEnd(svalue, iPos1 + Len(sHREF))
If iPos2 > 0 Then
sTemp1 = Mid(svalue, iPos1, iPos2 - iPos1)
sTemp2 = "<A HREF=" & Chr(34) & sTemp1 & Chr(34) & ">" & sTemp1 & "</A>"
svalue = Left(svalue, iPos1 - 1) & sTemp2 & Mid(svalue, iPos2)
iPos2 = iPos1 & Len(sTemp2) + 1
Else
iPos2 = iPos1 + Len(sHREF)
End If
iPos1 = InStr(iPos2, svalue, sHREF, 1)
Loop
ConvertLinksHREF = svalue
End Function

Function FindLinkEnd(svalue, iPos1)
Dim iPos2, i, iLen, iTempPos
Dim sValidChars
sValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz12345678  90-.@/"
iLen = iPos1 + Len(Mid(svalue, iPos1)) - 1
End Function
'----------------------------------------------------
```

Variant 2:

```
Function ShortenLinkName(sHTML, lFirstLength, lLastLength)
	Dim objRegExp
	Set objRegExp = New RegExp
	objRegExp.Global = True
	objRegExp.IgnoreCase = True
	
	objRegExp.Pattern = "(<a [^>]+>)([\s\S]{" & lFirstLength & "}?)([\s\S]+?)([\s\S]{" & lLastLength & "}?)(</a>)"
	
	ShortenLinkName = objRegExp.Replace(sHTML, "$1$2...$4$5")
	Set objRegExp = Nothing
End Function
```

variant 3:

```
Set objRegExp = New regexp
sURL = "http://www.blablabla.com/jättelånglänk.htm"
objRegExp.Pattern = "(.{25})(.{4,})(.{6})"
sText = objRegExp.Replace(sURL, "$1...$3")
'Resultat: sText = "http://www.blablabla.com/...nk.htm"
```

Nu skulle jag vilja få ihop någon av de koderna i min forumkod (förstår inte aspkod själv ännu precis vilket gör det knepigt, jag kan typ bara if then satser och så än så länge). varArray-koden nedan kan i alla fall ersättas av koden ovan gissar jag eftersom den bara är till för att korta ned för långa ord och urler som kan förstöra layouten. 

ska över huvud taget koden ovan in i själva "inläggskoden" för varje inlägg som loopas eller ska den ligga någonstans var som helst i början på sidan?

```
response.write "<table width=""100%"" bgcolor="""&color&""" class=""text_medium"" cellpadding=""5"" cellspacing=""0"">"
response.write "<tr>"

response.write "<td width=""30%"" valign=""top"">"
response.write "<a href=""site.asp?id="&rs("fromid")&"""><b>"&rs("username")&"</b></a><br>"

if rs("gender") = "Kille" then
response.write "Kille "
else
response.write "Tjej "
end if

dteDOB = rs("born")
intAge = convAge(dteDOB)
response.write intAge
response.write " i "&rs("city")&""

response.write "<br>"
response.write ConvDate(rs("date"), TRUE)

response.write "</td>"

response.write "<td width=""70%"" valign=""top"">"

strNyText = ""
strText = rs("message")

varArray = split (strText, " ")
for i = 0 to ubound(varArray)
    strNyText = strNyText & Left(varArray( i ), 50) & " "
next
strComText = server.HTMLEncode(strNyText)
strComText = Replace(strComText,vbcrlf,"<BR>")

Response.Write strComText

response.write "</td>"
response.write "</tr>"
response.write "</table>"
```

som sagt, supertacksam för svar. 
david

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

## #2 — @nders, 2006-11-14T04:37Z

Whoa...

\[kod\]-taggar, för böveln!

Sedan kanske vi kan titta lite. :)

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

## #3 — @nders, 2006-11-14T04:38Z

edit: iiih, dopfelpost!

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

## #4 — brorsan, 2006-11-14T10:43Z

Förlåt @nders, jag har inte hängt här inne på webbforum så mycket sen ni la till de funktionerna, jag tittade efter nåt sett att iframa koden, men såg inget uppenbart sätt bland alla tecken och grejer när jag skulle göra posten. Jag får väl lära mig...

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

## #5 — @nders, 2006-11-14T10:47Z

\[kod\]-taggarna har **alltid** funnits. :)
Ungefär sedan Sundsvall brann.

<http://www.webforum.nu/misc.php?do=bbcode>

(i listan saknas dock de svenska översättningarna av code och quote, kod och citat.)

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

## #6 — brorsan, 2006-11-14T10:59Z

:) Hoppas att det ser ut som det ska nu då. Jag är rätt säker på att det var en stor ommöblering här typ 2002-2003 (jag var stammis 2001). Kan inte svära på att kodtaggen kom 2002-2003, men jag har för mig det faktiskt. De gjorde i alla fall om i stort sett hela forumupplägget om jag inte är helt ute och cyklar.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/153732-pussla-ihop-forumlänkkoderna
