webForumDet fria alternativet

auto länk?

ASPur ASP

9 svar · 712 visningar · startad av caze

Medlem sedan sep. 20016 059 inlägg
Frågan#1

Hur fixar man så att det automatiskt blir en länk när man skriver www. eller http:// i ett inlägg som i en chatt eller i ett gästboksinlägg????

tack på förhand...

Medlem sedan jan. 20011 140 inlägg
#2

Jag änvönder den här funktionen som jag hittade här på wf

Function GetUrl(ByVal strText)
Dim mDelimit
Dim re
mDelimit = Chr(0)
Set re = New RegExp
re.Global = True
re.IgnoreCase = true
re.Pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
strText = re.Replace(strText, "<a href=""mailto" & mDelimit & ":$1"">$1</a>")

re.Pattern = "([url]http://[/url]|[url]https://[/url]|[url]ftp://[/url]|mailto:)(\S)(\S+)"
strText = re.Replace(strText, "<a href=""$1$2" & mDelimit & "$3"" target=""_blank"">$2" & mDelimit & "$3</a>")

re.Pattern = "(www\.(\S)(\S+))"
strText = re.Replace(strText, "<a href=""http://$1"" target=""_blank"">$1</a>")
strText = Replace(strText, mDelimit, "")

GetUrl=strText

End Function

Och sen när jag hämtar text gör jag så här:
geturl(rs("inlagg"))

Medlem sedan sep. 20016 059 inlägg
#3

ok... men var ska geturl(rs("inlagg")) in någonstans och hur kan det då se ut inkludsive ASP kodsnuttar och sånt... ...
Jag är fett med Newbie.... ;)

Medlem sedan jan. 20011 140 inlägg
#4

Det kan se ut så här

"din databaskoppling"

<%
sql= " select * from inlagg order by id desc"
Set RS = oConn.Execute(sql)
do until rs.eof %>

Inlägg:<% =geturl(rs("inlagg")) %>

<%
rs.movenext
loop
rs.close %>

Medlem sedan sep. 20016 059 inlägg
#5

Nu har jag gjort precis enligt dina anvisningar men hur jag än gör så blir det fel... =(....

Jag visar därför hela koden och vore jätte tacksam om du kunde lägga in det som du visat på rätt ställe så att jag bara kan kopier och klistra in för att spara ASP-filen...

här kommer koden:

<%Function Tecken(str)
Tecken = Replace(Trim(str),"'","''")
End function

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/chatten.mdb")
Set ReS = Conn.Execute("Delete * From mess Where datum < #" & DateAdd("h",-4,Date()) & "#")

If Request.QueryString("do") = "add" Then

Set RS = Conn.Execute("Select * From online Where namn='" & Session("namn") & "'")
If Not RS.EOF Then

Inlagg = Tecken(Request.Form("mess"))
Fran = Request.Form("fran")
Ip = Request.Servervariables("REMOTE_ADDR")

If Inlagg <> "" Then
Conn.Execute("Insert Into mess(inlagg,fran,ip) Values('" & Inlagg & "','" & Fran & "','" & Ip & "')")
Response.Redirect "mess.asp"
Else
Response.Redirect "mess.asp"
End If
ELSE%>

Tack på förhand... :birp

Medlem sedan jan. 20011 140 inlägg
#6

Det är bättre om du använder funktionen när du visar inlägget, inte lägga in den formaterade texten i databasen.

Visa filen du visar inlägget med.

Medlem sedan sep. 20016 059 inlägg
#7

det var den... iaf ASP kodningen av den... här är hela filkoden:

<!--#Include file="settings.asp"-->

<%Function Tecken(str)
Tecken = Replace(Trim(str),"'","''")
End function

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/chatten.mdb")
Set ReS = Conn.Execute("Delete * From mess Where datum < #" & DateAdd("h",-4,Date()) & "#")

If Request.QueryString("do") = "add" Then

Set RS = Conn.Execute("Select * From online Where namn='" & Session("namn") & "'")
If Not RS.EOF Then

Inlagg = Tecken(Request.Form("mess"))
Fran = Request.Form("fran")
Ip = Request.Servervariables("REMOTE_ADDR")

If Inlagg <> "" Then
Conn.Execute("Insert Into mess(inlagg,fran,ip) Values('" & Inlagg & "','" & Fran & "','" & Ip & "')")
Response.Redirect "mess.asp"
Else
Response.Redirect "mess.asp"
End If
ELSE%>

<script language="JavaScript">
<!--
top.location.href="index.asp";
//-->
</script>
<%End If

End If%>

<html>
<head>
<title><%=Chatnamn%></title>

<%If Request.QueryString("type") = "on" Then
Session("type") = "on"%>
<%End If

If Session("type") = "on" Then%>
<%End If

If Request.QueryString("type") = "off" Then
Session("type") = ""%>
<%End If

If Session("type") = "" Then%>
<%End If%>

<link rel="stylesheet" href="stil.css" type="text/css">
<meta http-equiv="refresh" content="10">
</head>
<body bgcolor="<%=Messbgfarg%>">

<table width="100%" cellpadding="0" cellspacing="0">

<%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/chatten.mdb")

Set RS = Conn.Execute("Select * From mess order by id desc")

Do Until RS.EOF%>

<tr><td>
<%=FormatDateTime(RS("datum"),4)%> | <b><%=RS("fran")%> »</b>
<%Fixa = Server.HTMLEncode(RS("Inlagg"))%> <!--#Include file="fixa.asp"--><%Response.Write Fixa%>
</td></tr>

<%RS.MoveNext
Loop
RS.Close
Set RS = Nothing
Conn.Close
Set Conn= Nothing%>

</table>

</body>
</html>

Medlem sedan jan. 20011 140 inlägg
#8

Ändra den här raden

<%Fixa = Server.HTMLEncode(RS("Inlagg"))%>

Till

<%Fixa = Server.HTMLEncode(geturl(RS("Inlagg")))%>

Du måste ha med funktionen någonstans också

Medlem sedan maj 2001123 inlägg
#9

länken måste ju komma sist i texten annars blir det ingen länk ju! eller hur skall man avsluta sin länK?

Medlem sedan dec. 19996 721 inlägg
#10
<%Fixa = geturl(replace(Server.HTMLEncode(RS("Inlagg")),vbCrLf,"<br>")%>
138 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)