Avatar billede plato Juniormester
27. april 2004 - 00:59 Der er 16 kommentarer og
1 løsning

Gør link klikbart i formfelt, ASP

Hejsa NG.

Jeg har lavet et forum i ASP. Hvis nu nogen smider et link i formfeltet, hvordan kan man så gøre sådan, at når det vises så kan man bare klikke på det.
Altså noget med at få sat <a href="LINKET">LINK TEKST</a> omkring det?
Avatar billede michael_stim Ekspert
27. april 2004 - 01:04 #1
Kan du ikke bare bruge request.form("navn_på_tekstfelt")?
Avatar billede michael_stim Ekspert
27. april 2004 - 01:05 #2
OK, nu forstår jeg, glem det förste jeg skrev.
Avatar billede plato Juniormester
27. april 2004 - 01:06 #3
Hvad mener du?

Hvis nu brugeren smider et link i et forum:

"Hey alle, har I set dette link?:
http://www.link.dk"

Så vises det jo bare som http://www.link.dk.
Så er det jeg gerne vil have det gjort klikbart med musen for en bruger. Så brugeren ikke skal kopiere link teksten over i en browser.
Tænkte det skulle være noget med fncTextChange = Replace kan bare ikke lige hitte ud af hvordan.
Avatar billede plato Juniormester
27. april 2004 - 01:07 #4
Okies.. Vi skrev samtidig :)
Avatar billede fennec Nybegynder
27. april 2004 - 08:34 #5
denne skulle kunnen gøre det...

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

    objRegExpHTTP1.Pattern = "(http|ftp|irc|nntp)(:\/\/[\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' class='smallink'>$1$2</a> ")
    strOutput = objRegExpHTTP2.Replace(strOutput, " $1<a href='http://$2' target='_blank' class='smallink'>$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
Avatar billede plato Juniormester
27. april 2004 - 09:02 #6
Kan du evt hjælpe mig med hvor det skal sættes ind i følgende kode:

<%

'Åbner connection til databasen
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("forum.mdb")
   

Function fncTextChange(strText)
      strTekst = Trim(strText)

            fncTextChange = Replace(strTekst,"'","'")
            fncTextChange = Replace(fncTextChange,"""","""")
            fncTextChange = Replace(fncTextChange,"  "," &nbsp;")
            fncTextChange = Replace(fncTextChange,vbCrLf,"<BR>")
            fncTextChange = Replace(fncTextChange,"å","&aring;")
            fncTextChange = Replace(fncTextChange,"æ","&aelig;")
            fncTextChange = Replace(fncTextChange,"ø","&oslash;")
            fncTextChange = Replace(fncTextChange,"Å","&Aring;")
            fncTextChange = Replace(fncTextChange,"Æ","&AElig;")
            fncTextChange = Replace(fncTextChange,"Ø","&Oslash;")
            fncTextChange = Replace(fncTextChange,"","<b>")
            fncTextChange = Replace(fncTextChange,"
","</b>")
            fncTextChange = Replace(fncTextChange,"","<i>")
            fncTextChange = Replace(fncTextChange,"
","</i>")
            fncTextChange = Replace(fncTextChange,"","<u>")
            fncTextChange = Replace(fncTextChange,"
","</u>")
            fncTextChange = Replace(fncTextChange,":)","<img src=image1/smile.gif>")
            fncTextChange = Replace(fncTextChange,":(","<img src=image1/sad.gif>")
            fncTextChange = Replace(fncTextChange,":o","<img src=image1/shocked.gif>")
            fncTextChange = Replace(fncTextChange,":D","<img src=image1/biggrin.gif>")
            fncTextChange = Replace(fncTextChange,";)","<img src=image1/wink.gif>")
            fncTextChange = Replace(fncTextChange,":p","<img src=image1/tongue.gif>")
            fncTextChange = Replace(fncTextChange,":artist:","<img src=image1/artist.gif>")
            fncTextChange = Replace(fncTextChange,":bowling:","<img src=image1/bowl.gif>")
            fncTextChange = Replace(fncTextChange,":mad:","<img src=image1/mad.gif>")
            fncTextChange = Replace(fncTextChange,":dizzy:","<img src=image1/dizzy.gif>")
            fncTextChange = Replace(fncTextChange,":nono:","<img src=image1/nono.gif>")
            fncTextChange = Replace(fncTextChange,":eyepatch:","<img src=image1/pirate.gif>")
            fncTextChange = Replace(fncTextChange,":sick:","<img src=image1/sick.gif>")
            fncTextChange = Replace(fncTextChange,":cry:","<img src=image1/cry.gif>")
            fncTextChange = Replace(fncTextChange,":uhh:","<img src=image1/uhh.gif>")
            fncTextChange = Replace(fncTextChange,":wacko:","<img src=image1/wacko.gif>")
           
        End Function
'Hvis brugeren har submittet formularen
    if Request.ServerVariables("REQUEST_METHOD") = "POST" then
   

'Tjecker om felterne er udfyld
    if (Request.Form("navn") <> "" AND Request.Form("besked") <> "" AND Request.Form("dato") <> "" AND Request.Form("emne") <> "" AND Request.Form("forumId") <> "") then
   

'Tilføjer brugeren til databasen
    Set rs = Server.CreateObject("ADODB.Recordset")
    strSQL = "select * from indlaeg"
    rs.Open strsql, conn, 1, 3

'Tilføjer brugeren til databasen og sender ham/hende til login siden

    rs.AddNew

    rs("navn") = (Request("navn"))
        rs("besked") = fncTextChange(Request("besked"))
    rs("dato") = (Request("dato"))
    rs("emne") = (Request("emne"))
    rs("forumId") = (Request("forumId"))


        rs.update
   

    Response.Write("<strong><font color='red'>Du har sendt formen!</font></strong>")
    rs.Close
    set rs = nothing
    response.redirect("forumtest.asp?mode=forum_oversigt")   
else
    Response.Write("<strong><font color='red'>Du mangler at udfylde felterne!</font></strong>")

end if
end if
%>
Avatar billede fennec Nybegynder
27. april 2004 - 09:10 #7
går ud fra at det er Request("besked") der kan indeholde link...

rs("besked") = LinkString(fncTextChange(Request("besked")))

Men du kan jo også bruge den når du skriver rs("besked") ud.

<%= LinkString(rs("besked")) %>
Avatar billede plato Juniormester
27. april 2004 - 09:19 #8
Hvis jeg benytter rs("besked") = LinkString(fncTextChange(Request("besked"))) er feltet besked tomt.

Har sat det sådan her ind:

<% if mode = "forum_topic_new" then%>

<%

'Åbner connection til databasen
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("forum.mdb")
    Function LinkString(strInput)
    Set objRegExpHTTP1 = New RegExp
    Set objRegExpHTTP2 = New RegExp

    objRegExpHTTP1.Pattern = "(http|ftp|irc|nntp)(:\/\/[\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' class='smallink'>$1$2</a> ")
    strOutput = objRegExpHTTP2.Replace(strOutput, " $1<a href='http://$2' target='_blank' class='smallink'>$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

Function fncTextChange(strText)
      strTekst = Trim(strText)

            fncTextChange = Replace(strTekst,"'","'")
            fncTextChange = Replace(fncTextChange,"""","""")
            fncTextChange = Replace(fncTextChange,"  "," &nbsp;")
            fncTextChange = Replace(fncTextChange,vbCrLf,"<BR>")
            fncTextChange = Replace(fncTextChange,"å","&aring;")
            fncTextChange = Replace(fncTextChange,"æ","&aelig;")
            fncTextChange = Replace(fncTextChange,"ø","&oslash;")
            fncTextChange = Replace(fncTextChange,"Å","&Aring;")
            fncTextChange = Replace(fncTextChange,"Æ","&AElig;")
            fncTextChange = Replace(fncTextChange,"Ø","&Oslash;")
            fncTextChange = Replace(fncTextChange,"","<b>")
            fncTextChange = Replace(fncTextChange,"
","</b>")
            fncTextChange = Replace(fncTextChange,"","<i>")
            fncTextChange = Replace(fncTextChange,"
","</i>")
            fncTextChange = Replace(fncTextChange,"","<u>")
            fncTextChange = Replace(fncTextChange,"
","</u>")
            fncTextChange = Replace(fncTextChange,":)","<img src=image1/smile.gif>")
            fncTextChange = Replace(fncTextChange,":(","<img src=image1/sad.gif>")
            fncTextChange = Replace(fncTextChange,":o","<img src=image1/shocked.gif>")
            fncTextChange = Replace(fncTextChange,":D","<img src=image1/biggrin.gif>")
            fncTextChange = Replace(fncTextChange,";)","<img src=image1/wink.gif>")
            fncTextChange = Replace(fncTextChange,":p","<img src=image1/tongue.gif>")
            fncTextChange = Replace(fncTextChange,":artist:","<img src=image1/artist.gif>")
            fncTextChange = Replace(fncTextChange,":bowling:","<img src=image1/bowl.gif>")
            fncTextChange = Replace(fncTextChange,":mad:","<img src=image1/mad.gif>")
            fncTextChange = Replace(fncTextChange,":dizzy:","<img src=image1/dizzy.gif>")
            fncTextChange = Replace(fncTextChange,":nono:","<img src=image1/nono.gif>")
            fncTextChange = Replace(fncTextChange,":eyepatch:","<img src=image1/pirate.gif>")
            fncTextChange = Replace(fncTextChange,":sick:","<img src=image1/sick.gif>")
            fncTextChange = Replace(fncTextChange,":cry:","<img src=image1/cry.gif>")
            fncTextChange = Replace(fncTextChange,":uhh:","<img src=image1/uhh.gif>")
            fncTextChange = Replace(fncTextChange,":wacko:","<img src=image1/wacko.gif>")
           
        End Function
'Hvis brugeren har submittet formularen
    if Request.ServerVariables("REQUEST_METHOD") = "POST" then
   

'Tjecker om felterne er udfyld
    if (Request.Form("navn") <> "" AND Request.Form("besked") <> "" AND Request.Form("dato") <> "" AND Request.Form("emne") <> "" AND Request.Form("forumId") <> "") then
   

'Tilføjer brugeren til databasen
    Set rs = Server.CreateObject("ADODB.Recordset")
    strSQL = "select * from indlaeg"
    rs.Open strsql, conn, 1, 3

'Tilføjer brugeren til databasen og sender ham/hende til login siden

    rs.AddNew

    rs("navn") = (Request("navn"))
        rs("besked") = LinkString(fncTextChange(Request("besked")))
    rs("dato") = (Request("dato"))
    rs("emne") = (Request("emne"))
    rs("forumId") = (Request("forumId"))


        rs.update
   

    Response.Write("<strong><font color='red'>Du har sendt formen!</font></strong>")
    rs.Close
    set rs = nothing
    response.redirect("forumtest.asp?mode=forum_oversigt")   
else
    Response.Write("<strong><font color='red'>Du mangler at udfylde felterne!</font></strong>")

end if
end if
%>
Avatar billede fennec Nybegynder
27. april 2004 - 09:25 #9
prøv lige at bruge den på den side hvor du udskriver fra databasen. Og se om den ikke laver link om til "rigtige" link...
Avatar billede plato Juniormester
27. april 2004 - 09:35 #10
Det har jeg så prøvet. Så smider den godt nok noget i feltet besked (som den plejer)

Så kalder jeg beskeden med:
<%= LinkString(rs("besked")) %>
Men så vises der ikke noget.
Hvis jeg kalder den med <%= rs("besked") %> er det bare som det plejer.

Har sat det sådan her ind:
<%
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("forum.mdb")   

set rs = Conn.Execute("select * From indlaeg where id like '" & request.querystring("id") & "' OR replyid LIKE '" & Request.Querystring("id") & "' order by id ASC")
    Function LinkString(strInput)
    Set objRegExpHTTP1 = New RegExp
    Set objRegExpHTTP2 = New RegExp

    objRegExpHTTP1.Pattern = "(http|ftp|irc|nntp)(:\/\/[\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' class='smallink'>$1$2</a> ")
    strOutput = objRegExpHTTP2.Replace(strOutput, " $1<a href='http://$2' target='_blank' class='smallink'>$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                       
%>
              <tr>
                <td valign="top"> <table width="775" border="0" cellpadding="0" cellspacing="0">
                                <tr valign="top">
                    <td width="45" class="tekstboks">&nbsp;</td>
                      <td class="tekstboks2"><strong><a href="forumtest.asp?mode=forum_oversigt">Forum oversigt</a></strong> ->  <strong><a href="forumtest.asp?mode=forum_topic&Id=<%=rs("forumid")%>">Indlæg</a></strong> -> <strong><%=rs("emne")%></strong></td>
            <td class="tekstboks" width=10">&nbsp;</td>
            <td class="tekstboks3" align="right"><strong><a href="forumtest.asp?mode=forum_topic_reply&Id=<%=rs("id")%>">Besvar indlæg</a></strong></td></tr>



                            <% if rs.eof or rs.bof then %>
                            <tr><td class="tekstboks" width="45">&nbsp;</td><td class="tekstboks3">Der er ingen indlæg.
                           
                            <% else
                           
                                Do until rs.eof %>
                                <tr><td height="5" width="45" class="tekstboks">&nbsp;</td><td colspan="3" class="tekstboks">&nbsp;</td></tr>   
                            <tr><td class="tekstboks" width="45">&nbsp;</td><td colspan="3" class="tekstboks3">
                                    <strong>Dato:</strong> <%=rs("dato")%><br><br>
                                                       
                       
                                    <%=rs("besked") %> eller <%= LinkString(rs("besked")) %>

<br><br>- <%=rs("navn")%>       
                                   
                                       
                                <%
                               
                                rs.movenext
                                loop
                            end if %>
Avatar billede fennec Nybegynder
27. april 2004 - 09:43 #11
min fejl... Jeg havde ikke fået rette den helt til :o(

Sidste linje i funktionen skal selvfølgelig ikke være:
LinkString2 = strOutput

men
LinkString = strOutput

Så er det jo klart der ikke komme noget :o)
Avatar billede plato Juniormester
27. april 2004 - 09:59 #12
Ark, den skulle jeg da vist også have set ;-)

Tusind tak, det virker :-)
Avatar billede plato Juniormester
27. april 2004 - 13:12 #13
Hvis man smider flere links i formfeltet går det helt galt:

http://www.filmnet.dk/forum.asp?mode=forum_topic_read&id=1
Avatar billede plato Juniormester
27. april 2004 - 13:25 #14
Nu har jeg godt nok rettet det. Men hvis man smider flere links ender <a href""> og </a> helt hen i skoven.
Avatar billede fennec Nybegynder
27. april 2004 - 13:29 #15
Det er ikke et prob jeg har oplevet (fordi mine bruger kun kan indsætte et link), men jeg søgte lidt på nette og fandt denne funktion. Den virker, og har mange instillingsmuligheder.

Function autoHighlight(Lin)
dim link_color, link_target, ugyldigeTegn, StartTegn, SlutTegn, MaxDomain, MaxLinks, Pointer, RegON
dim RegDomain, NoLink, TrueLink, Linkhtml, PathStart, PortStart, PointerADD, t, middle, temp, start, i, slut, tegn, tegnF, TegnE
dim ServerSlut, Domain, servername, RegDomains
' Indstillinger -----
link_color = "#3366ff"        ' Hvad farve skal linket have
link_target = "_blank"        ' Link Target
ugyldigeTegn = " _:\,;/'?" ' Ugyldige tegn omkring punktummer
StartTegn = " ,;""<>!"        ' Tegn der starter et link fx. <H1>www.spise.dk</H1>
SlutTegn = " ,;""<>!"        ' Tegn der slutter et link fx. www.partynet.dk!
MaxDomain = 3                ' Max. tegn i domain navn fx "com"    (3=default)   
MaxLinks = -1                ' (Bruges til debug) Hvor mange links skal "HighLight"'es per streng (-1 = uendelig)
Pointer = 1                ' Ved hvad tegn skal der startes (1=default)

' Skal der chekes efter registrede domæner (1=ja & 0=nej)
RegON = 1                   
' De registrede domæner:
RegDomain = "dk;com;net;org;gov;edu;uk;no;se;de;as;ru;sk;ch;it;nl;fr;hu;to;au;tw;jp;"

' Indstillinger slut -----
 
' Begynd løkke
Do until t = MaxLinks
' Nulstilling af de variable:
NoLink = False            'True hvis det fundne tekst ikke er et link
TrueLink = False        'True hvis linket begynder med http://
Linkhtml = ""
PathStart = 0
PortStart = 0
PointerADD = 0

' Her findes "midten" af linket
middle = Instr(pointer,lin,".")
temp = Instr(pointer,Lcase(lin),"http://")

' Dette sørger for at finde det første af enten "." eller "http://"
If temp < middle and temp <> 0 then middle = temp+6:TrueLink = true
If middle = 0 and temp > 0 then middle = temp+6:TrueLink = true

' Hvis "." eller "http://" ikke er fundet skal løkken stoppe
If Middle = 0 then exit do

' Her findes starten af linket (defineret udfra start tegnene)
start = 1
For i = 1 to len(StartTegn)
  temp = InStrRev(Lcase(lin),mid(StartTegn,i,1),Middle)
  If temp => start and temp <> 0 then start = temp+1
next

' Her findes slutningen af linket (defineret udfra slut tegnene)
slut = len(lin)
For i = 1 to len(SlutTegn)
  temp = Instr(Middle,Lcase(lin),mid(SlutTegn,i,1))
  If temp <= slut and temp <> 0 then slut = temp-1
next

'Checker efter "?" og "." de må gerne stå i midten af linket, men ikke i slutningen
' Fx. "www.nordmark.dk?????" eller "www.partynet.dk..."
tegn = Mid(lin,slut,1)
do until (tegn <> "." and tegn <> "?") or slut = 1
  If tegn = "." or tegn = "?" then slut=slut-1:PointerADD = PointerADD+1
  tegn = Mid(lin,slut,1)
loop

'Hvis det kun er et "." der er fundet og linket ikke begynder med http:// skal det testes ekstra
If TrueLink = False then

' Her testes om punktummet står i starten eller i slutningen af strengen
If Middle = 1 then noLink = true:start=slut+1
If Middle = len(lin) then noLink = true:start=slut+1
' Her testes efter ugyldige tegn, ved siden af punktummet
If nolink <> True then
  TegnF = Mid(lin,middle-1,1)
  TegnE = Mid(lin,middle+1,1)
  For i = 1 to len(ugyldigeTegn)
  If TegnF = mid(ugyldigeTegn,i,1) then noLink = true:start=slut+1:exit for
  If TegnE = mid(ugyldigeTegn,i,1) then noLink = true:start=slut+1:exit for
  next
end if

' Her findes domæne navnet og længden chekes -> fx:".dk" ".com" ".uk"
' De første if-sætningr checker om der er andet efter efter server navnet
' som fx. port nr. eller en sti
If nolink <> True then
  ServerSlut = Slut
  temp = Instr(Middle,Lcase(lin),"/")
  If temp <= ServerSlut and temp <> 0 then ServerSlut = temp-1:PathStart=Temp
  temp = Instr(Middle,Lcase(lin),":")
  If temp <= ServerSlut and temp <> 0 then ServerSlut = temp-1:PortStart=Temp+1
  temp = InstrRev(lin,".",ServerSlut)
  Domain = mid(Lcase(lin),temp+1,ServerSlut - temp)
  Servername = mid(lin,start,ServerSlut-start+1)
  If len(domain) > MaxDomain then noLink = true:start=slut+1 'Max tegn
  If len(domain) = 0 then noLink = true:start=slut+1 'Udrydder fx. www.spise./index.htm

'Checker efter steder i servernavnet hvor der er mere end et punktum
  If Instr(Servername,"..") <> 0 then noLink = true:start=slut+1
end if
 
' Her chekes, hvis RegON = 1, om domænenavnet er korrekt.
If RegON = 1 and nolink <> true then
  RegDomains = split(Lcase(RegDomain),";")
  nolink = true
  For i = 0 to Ubound(RegDomains)
    If RegDomains(i) = Domain then nolink = false:exit for
  next
  If nolink = true then start=slut+1
end if

else
'Hvis der står "xxhttp://", er det kun fra "http://" der skal highlightes:)
start = Instr(pointer,Lcase(lin),"http://")
End if

'Dette er nogen af de ting der er mulige at spytte ud til hvert link:
'Response.write "---------------------<BR>"
'Response.write "LinkNr: "&t&"<BR>"
'Response.write "Starter ved tegn: "&Start&"<BR>"
'Response.write "Slutter ved tegn: "&Slut&"<BR>"
'Response.write "Domænenavn: "&Domain&"<BR>"
'Response.write "Servernavn uden path: "&ServerName&"<BR>"
'If PathStart<>0 then Response.write "Path efter servernavn: "&mid(lin,pathStart,slut-pathstart+1)&"<BR>"

'Hvis det fundne mulige link har bestået alle "prøverne" skal det udskiftes med html tags
If noLink <> True then
If Lcase(Mid(lin,start,7)) = "http://" then
  LinkHtml = "<a href='" & mid(lin,start,slut-start+1) &"' target='"&link_target&"'><font color='" & link_color & "'>"& mid(lin,start,slut-start+1) & "</font></a>"
else
  LinkHtml = "<a href='http://" & mid(lin,start,slut-start+1) &"' target='"&link_target&"'><font color='" & link_color & "'>"& mid(lin,start,slut-start+1) & "</font></a>"
End If
  lin = Left(lin,start-1) & LinkHtml & right(lin,len(lin)-slut)
  t=t+1
End If

'Pointeren sættes til næste logiske start
pointer = start + len(LinkHtml)+PointerADD
loop

autoHighlight = lin
End function
Avatar billede fennec Nybegynder
27. april 2004 - 13:43 #16
fandt denne her på E. Den fylder knap så meget.

Function LinkString(strInput)
dim arrPattern, arrReplaceString, Rx, intIndex
  arrPattern = Array("([\w\._-]+@[\w\._-]+\.[A-Za-z]{2,4}\S*)", _
  "(http|https|ftp)(:\/\/[\w\._-]+\.[\w\._-]+\S*)", _
  "(^|[^\/])(www[^\.\s]?\.[\w\._-]+\.[A-Za-z]{2,4}\S*)")

  arrReplaceString = Array(" <a href='mailto:$1'>$1</a> ", _
  " <a href='$1$2' target='_blank'>$1$2</a> ", _
  " <a href='http://$2' target='_blank'>$2</a> ")

  Set Rx = New RegExp
  Rx.Global = True
  Rx.IgnoreCase = True

  For intIndex = 0 To UBound(arrPattern)
    Rx.Pattern = arrPattern(intIndex)
    strInput = Rx.Replace(strInput, arrReplaceString(intIndex))
  Next
  Set Rx = Nothing

  LinkString = strInput
End Function

textStreng = "Jeg kan varmt anbefale sitet http://www.eksperten.dk og også www.invisibleman.dk . Du kan skrive til mig på thomas@invisibleman.dk"
Response.Write LinkString(textStreng)
Avatar billede plato Juniormester
27. april 2004 - 20:47 #17
Mange 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