Avatar billede -sofus- Nybegynder
17. september 2001 - 22:54 Der er 4 kommentarer og
1 løsning

Link finder

Hvordan for jeg den til at lave links ligsom på www.eksperten.dk når jeg poster en news

min code hvad jeg har gættet mig frem til
-------------------------------------------
%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"db.mdb\")
set rs = Conn.execute(\"select * from news order by newsid desc\")

if rs.EOF then
Response.write \"Databasen er tom.\"
else
Do Until rs.EOF
set temp = Conn.Execute(\"select count(*)  as antal from kommentar where svartil = \" & rs(\"newsid\"))
%>


<% language=\"JScript\" %>
<% var Linktext = \" <%= rs(\"text\") %> \"

function makeLink(txt){
    var re = /(\\bhttp\\:\\/\\/)?(\\bw{3}\\.\\S+\\.[a-z][a-z]+\\b)(\\/\\S+\\b)?(\\?\\S+\\b)?/g;
    txt = txt.replace(re,\'<a href=\"http://$2$3$4\">$1$2$3$4</a>\');
    re = /(\\S+@{1}\\S+\\.[a-z][a-z]+\\b)/g;
    txt = txt.replace(re,\'<a href=\"mailto:$1\">$1</a>\');
    return txt;
}
%>





<tr>
  <td width=\"100%\"><font face=\"Verdana, Arial\" color=\"black\" size=\"1\"><%= rs(\"dato\") %></font>
    <br><font face=\"Verdana, Arial\" color=\"black\" size=\"1\"><b>
    <%= rs(\"overskrift\") %></b> (Der er <%=temp(\"antal\")%> kommentarer)<br>
    </font><font face=\"Verdana, Arial\" color=\"black\" size=\"1\"><%=makeLink(Linktext)%>
</font>
    <hr>
  </td>
</tr>


<%RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%>
Avatar billede eagleeye Praktikant
17. september 2001 - 23:19 #1
Function LinkString(strInput)
    Set objRegExpHTTP1 = New RegExp
    Set objRegExpHTTP2 = New RegExp   
    Set objRegExpEMail = New RegExp

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

    objRegExpHTTP1.Global = True
    objRegExpHTTP2.Global = True
    objRegExpEMail.Global = True

    objRegExpHTTP1.IgnoreCase = True
    objRegExpHTTP2.IgnoreCase = True
    objRegExpEMail.IgnoreCase = True

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

    LinkString = strOutput
End Function


Så sådan her:
<%=LinkString(Linktext)%>
Avatar billede -sofus- Nybegynder
17. september 2001 - 23:30 #2
jammen hvordan klipper jeg det sammen med db udtrækningen ?
Avatar billede eagleeye Praktikant
18. september 2001 - 08:05 #3
Lig functionen ind i toppen af filen:

<%
Function LinkString(strInput)
...
End Function
%>
<html><title>noget</title>
<body>

<%=LinkString(rs(\"text\"))%>

</body>
</html>

--tilrettet kopi af din kode--
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"db.mdb\")
set rs = Conn.execute(\"select * from news order by newsid desc\")

if rs.EOF then
Response.write \"Databasen er tom.\"
else
Do Until rs.EOF
set temp = Conn.Execute(\"select count(*)  as antal from kommentar where svartil = \" & rs(\"newsid\"))
%>
<tr>
  <td width=\"100%\"><font face=\"Verdana, Arial\" color=\"black\" size=\"1\"><%= rs(\"dato\") %></font>
    <br><font face=\"Verdana, Arial\" color=\"black\" size=\"1\"><b>
    <%= rs(\"overskrift\") %></b> (Der er <%=temp(\"antal\")%> kommentarer)<br>
    </font><font face=\"Verdana, Arial\" color=\"black\" size=\"1\"><%=LinkString(rs(\"text\"))%>
</font>
    <hr>
  </td>
</tr>

<%RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%>
Avatar billede -sofus- Nybegynder
22. september 2001 - 00:31 #4
lukket
Avatar billede eagleeye Praktikant
22. september 2001 - 00:34 #5
ikke for noget men hvad mere mangler du?
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