Just nu i M3-nätverket
Jump to content

Function Convert Links


kjell3

Recommended Posts

Jag använder mig av includen Function ConvertLinks till ett forum jag håller på med. Mitt problem är att när jag försöker lägga in target="_blank" som byts den fungerande länken till false

 

Vad gör jag för fel?

 

Skickar med koden utan target........

 

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

Link to comment
Share on other sites

Jag är inte säker på att jag förstår vad du menar, men om du bara vill lägga till target=_blank så....

 

sTemp2 = "<A HREF=" & Chr(34) & sTemp1 & Chr(34) & " target='_blank' ">" & sTemp1 & "</A>"

 

Möjligen kan du vilja byta ut ' mot "&CHR(34)&"

Link to comment
Share on other sites

Japp, det är bara en simpel target blank funktion jag är ute efter. Jag provade ditt tips men jag får bara syntaxfel, att det ska vara så j....... svårt.

 

Link to comment
Share on other sites

Nu har jag kommit så långt att jag med denna rad får fram där länken ska vara "sant" alltså istället för länken står det nu sant??

 

sTemp2 = "<A HREF=" & Chr(34) & sTemp1 & Chr(34) & " target='_blank' ">" & sTemp1 & </A>"

 

Men den fungerande länken försvann. Det jag är på ren svenska ute efter är att om någon hävisar i en text till en http:// länk i ett forum så ska den bli aktiv och kunna användas i ett frameset. Jag har sett att det fungerar så i detta forum, kanske man kan få hjälp från den som skapat detta forum???????

Link to comment
Share on other sites

Nej, jag förstår verkligen inte vad du menar:

 

>länken ska vara "sant"

 

Vad menar du med att en länk är "sann"??? Du skriver också att länken byts till false. Att den blir ogiltig, eller?

 

Du måste bättre beskriva exakt vad det är som händer när du kör din funktion. Var i koden blir det fel? Hur artar sig felet?

Link to comment
Share on other sites

Det som hände när jag lade till target i koden så byttes den fungerande länken till ordet sant. Men tack vare hjälp från en kunnig person så fick jag hjälp med den rätta koden.

Den ska vara:

sTemp2 = "<A HREF=" & Chr(34) & sTemp1 & Chr(34) & " target=" & Chr(34) & "_blank" & Chr(34) & ">" & sTemp1 & "</A>"

 

Tur att det finns dom som vet hur man gör för oss amatörer........

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...