webForumDet fria alternativet

Den gör inte om till länk

ASP

4 svar · 270 visningar · startad av fundrusse

Medlem sedan jan. 2002286 inlägg
Frågan#1

Hejsan!
Jag har snickar ihop följande kod

'  Fix Char
'  ********
   Dim Str, Str2, HyperArray, Link
   Function FixChar(Str)
    Str = Replace(Str,VBCrLf,"<br>" & VBCrLf)
    Str = Replace(Str,"<rubrik>","<span class=""rubrik"">")
    Str = Replace(Str,"</rubrik>","</span>")

    HyperArray = Split(Str)
    For Each Link In HyperArray
     If Len(Link) > 7 Then
      If Lcase(left(Link,7)) = "http://" Then
       Str2 = Str2 & "<a href="""& Link &""">"& Link &"</a> "
      ElseIf InStr(Link,"@")>1 Then
       Str2 = Str2 & "<a href=""mailto:"& Link &""">"& Link &"</a> "
      Else
       Str2 = Str2 & Link &" "
      End If
     Else
      Str2 = Str2 & Link &" "
     End If
    Next

   FixChar = Str2
   End Function

Den skall gå igenom texten o gör om ord till länk om det finns..
Men av någon anledning så blir det inga länkar fast man skriv in det..
Någon som hittar något fel?

Medlem sedan maj 20031 173 inlägg
#2

Testa att skriva ut dina variabler lite överallt i koden och se så att de verkligen ser ut så om du tror att de ska göra.

och raden Str2 = Str2 & Link &" " blir väll lite skum när man inte har definierat något startvärde på Str2? (eller så nollställs den med dim, jag vet inte, använder aldrig dim)

Medlem sedan jan. 2002286 inlägg
#3

Jag provade att ändra såhär

    HyperArray = Split(Str)
    For Each Link In HyperArray
     If Len(Link) > 7 Then
      If Lcase(left(Link,7)) = "http://" Then
       Str2 = Str2 & "<a href="""& Link &""">"& Link &"</a> "
      'ElseIf InStr(Link,"@")>1 Then
      ' Str2 = Str2 & "<a href=""mailto:"& Link &""">"& Link &"</a> "
      Else
       Str2 = Str2 & Link &" "
      End If
     'Else
     ' Str2 = Str2 & Link &" "
     End If
    Next

Då skriver den bara ut ord som är längre än 7..
men de som börjar på http:// blir inte länkar.. fattar inte varför..
borde ju bli det

Medlem sedan jan. 2002286 inlägg
#4

Med denna kod fungerar det som jag vill

'  Fix Char
'  ********
   Dim Str, Str2, HyperArray, Link
   Function FixChar(Str)
    Str = Replace(Str,VbCrLf,VbCrLf&" <br> ") 
    Str = Replace(Str,"<rubrik>","<span class=""rubrik"">")
    Str = Replace(Str,"</rubrik>","</span>")

    HyperArray = Split(Str)
    For Each Link in HyperArray
     If Len(Link) > 7 Then
      If Lcase(Left(Link,7)) = "http://" Then
       Str2 = Str2 & "<a href="""& Link &""">"& Link &"</a> "
      ElseIf InStr(Link,"@")>1 then
       Str2 = Str2 & "<a href=""mailto:"& Link &""">"& Link &"</a> "
      Else
       Str2 = Str2 & Link &" "
      End If
     Else
      Str2 = Str2 & Link &" "
     End If
    Next
    FixChar = Str2
    End Function
Medlem sedan jan. 2002286 inlägg
#5
'  Fix Char
'  ********
   Dim Str, Str2, HyperArray, Link
   Function FixChar(Str)
    Str = Replace(Str,VbCrLf,VbCrLf&" <br> ") 
    Str = Replace(Str,"<rubrik>","<span class=""rubrik"">")
    Str = Replace(Str,"</rubrik>","</span>")

    HyperArray = Split(Str)
    For Each Link in HyperArray
     If Len(Link) > 7 Then
      If Lcase(Left(Link,7)) = "http://" Then
       Str2 = Str2 & "<a href="""& Link &""">"& Link &"</a> "
      ElseIf InStr(Link,"@") > 1 Then
       Str2 = Str2 & "<a href=""mailto:"& Link &""">"& Link &"</a> "
      Else
       Str2 = Str2 & Link &" "
      End If
     Else
      Str2 = Str2 & Link &" "
     End If
    Next
    FixChar = Str2
    Str2 = ""
    End Function
259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)