Avatar billede sb Nybegynder
09. november 2002 - 12:13 Der er 2 kommentarer og
1 løsning

Hvordan identifisere link i tekst?

Jeg har følgende kode :

body = Replace(Server.HTMLEncode(rs("tekst")), vbCrLf, "<br>")
body = Replace(body, "&lt;%", "<font class=AspCode>&lt;%")
body = Replace(body, "%&gt;", "%&gt;</font>")

Som gør at evt. HTML tags i en tekststreng vil blive skrevet ud som tags.

Men hvordan identifiserer jeg eventuelle URLer i tekststrengen?. Fides f.eks. http://www.eksperten.dk i strengen, skal dette gøres om til <a href="http://www.eksperten.dk">http://www.eksperten.dk</a>, sådan at der vises en link når teksten skrives ud med f.eks. "response.write body"
Avatar billede medions Nybegynder
09. november 2002 - 12:35 #1
Function HTMLDecode(strInput)
    strInput = Replace(strInput, "&quot;", Chr(34))
    strInput = Replace(strInput, "&lt;", "<")
    strInput = Replace(strInput, "&gt;", ">")
    strInput = Replace(strInput, "&amp;", "&")

    If InStr(strInput, "&#") Then
        Do
            Index = InStr(strInput, "&#")
            If Index = 0 Then Exit Do
            EndIndex = InStr(Index, strInput, ";")
            If EndIndex = 0 Then Exit Do

            strChar = Mid(strInput, Index, (EndIndex - Index) + 1)
            strCChar = Mid(strChar, 3, Len(strChar) - 3)
            If Not Len(strCChar) > 3 And IsNumeric(strCChar) Then
                If Asc(strCChar) > -1 And Asc(strCChar) < 256 Then strCChar = Chr(CInt(strCChar)) Else strCChar = ""
            End If

            strInput = Replace(strInput, strChar, strCChar)
        Loop
    End If

    HTMLDecode = strInput
End Function

du bruger den ligesom Server.HTMLEncode():

strStreng = HTMLDecode(strStreng)

//>Rune
Avatar billede eagleeye Praktikant
09. november 2002 - 13:42 #2
Du skal havde en function som kan lave links i tekst om til klikbare links:

Der har været en konkurrence på www.netkoders.dk og vinder script er her:
http://www.netcoders.dk/sources.asp?mode=view_source&cat_id=9&id=859&tech_id=1

Runner ups:
http://www.netcoders.dk/sources.asp?mode=view_source&cat_id=9&id=860&tech_id=1


Jeg bruger selv denne som laver www adresse samt email adresse om til trykbare links.


Function LinkString2(strInput)
Set objRegExpHTTP1 = New RegExp
Set objRegExpHTTP2 = New RegExp

objRegExpHTTP1.Pattern = "(http|ftp)(:\/\/[\w\._-]+\.[\w\._-]+\S*)"
objRegExpHTTP2.Pattern = "(^|[^\/])(www[^\.\s]?\.[\w\._-]+\.[A-Za-z]{2,3}[\w\S]*)"

objRegExpHTTP1.Global = True
objRegExpHTTP2.Global = True

objRegExpHTTP1.IgnoreCase = True
objRegExpHTTP2.IgnoreCase = True

strOutput = objRegExpHTTP1.Replace(strInput, " <a href='$1$2' target='_blank'>$1$2</a> ")
strOutput = objRegExpHTTP2.Replace(strOutput, " $1<a href='http://$2' target='_blank'>$2</a> ")

objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])('>)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2")
objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])(' target=)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2")
objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])(</a>)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2$1")

Set objRegExpHTTP2 = Nothing
set objRegExpHTTP1 = Nothing

LinkString2 = strOutput
End Function


Og den kaldes sådan her:

str = "En steng som indeholder links (www.eksperten.dk) som skal laves om til klikbare links."
response.write linkString2 (str)
Avatar billede sb Nybegynder
09. november 2002 - 13:55 #3
Tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester