webForumDet fria alternativet

Flera länkar i samma fält

ASP

5 svar · 177 visningar · startad av kalew

Medlem sedan okt. 200120 inlägg
Frågan#1

Hej jag skulle vilja kunna convertea flera länkar i samma datafält

Nu använder jag någon function jag hittade någon stan och den funkar jätte bra men den gör bara om första länken

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 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890-.@/"
iLen = iPos1 + Len(Mid(svalue, iPos1)) - 1
iPos2 = -1
For i = iPos1 To iLen
iTempPos = InStr(1, sValidChars, Mid(svalue, i, 1), 1)
If iTempPos = 0 Then
If i < iPos1 + 4 Then
iPos2 = -1
Else
iPos2 = i
End If
Exit For
End If
Next
If iPos2 = 0 Then
iPos2 = Len(svalue) + 1
End If

FindLinkEnd = iPos2

End Function 

</script>

hämt kod


<% =ConvertLinks(radbryt(inlagg_var)) %>

finns det en lösning ??? månne

BTW ...ni som kan det här kan man staälla target iden här koden på något ställe lr kan man bygga på det själv...skulle vilja ha target_"blank"

[Redigerat av kalew den 19 okt 2001]

Medlem sedan dec. 19998 577 inlägg
#2

Då skulle jag rekommendera att byta funktion, använd emissions kod: http://script.webforum.nu/wf/Forum1/HTML/000093.html

------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu

Medlem sedan okt. 200120 inlägg
#3

Hmm..TACK!!

Men jag är rätt ny med det här och vad jag förstod så var det där en SUB :r

Hur använder man dom i gemförelse med Functioner ???

Medlem sedan dec. 200012 464 inlägg
#4

En sub anropas genom att skriva namnet och eventuella parametrar (utan parenteser)

function kalew(ByVal x,ByVal y)
kalew = x + y
end function
dim sum
sum = kalew(12,2)

sub LarsG(ByRef summa,ByVal x,ByVal y)
summa = x + y
end sub

dim s
LarsG s,12,2

t.ex.

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 19 okt 2001]

Medlem sedan okt. 200120 inlägg
#5

Tack...LarsG
En ny liten fråga bara !

vad är då detta

Class EMarkupParser

Private m_colTags
Private m_objRxp
Private m_strTagLIst
Private m_blnURLify
Private m_blnAllowHTML
Private m_strTarget
Public Property Let URLify(DoURLify)
m_blnURLify=DoURLify
End Property
Public Property Let AllowHTML(DoAllowHTML)
m_blnAllowHTML=DoAllowHTML
End Property

Public Property Let Target(LinkTarget)
m_strTarget=LinkTarget
End Property
Private Sub AddToList(TagName)
m_strTagLIst=m_strTagLIst & "&#0124;" & TagName
End Sub
Private Property Get TagList
If len(m_strTagLIst)>1 Then
TagLIst=mid(m_strTagLIst,2)
Else
TagLIst=""
End If
End Property

[Redigerat av kalew den 19 okt 2001]

[Redigerat av kalew den 19 okt 2001]

[Redigerat av kalew den 19 okt 2001]

Medlem sedan dec. 200012 464 inlägg
#6

Det är väl VB goes object-oriented
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsstmclass.asp

------------------
essentitia preter non sans multiplicandum

261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)