Avatar billede php_newbie Nybegynder
19. januar 2003 - 11:19 Der er 7 kommentarer og
1 løsning

Lille link funktion

Hejsa...


Jeg skal bruge en funktion der kan flg.:

Hvis en bruger indtaster www.eksperten.dk skal der indsættes http://www.eksperten.dk men hvis han indtaster http://www.eksperten.dk skal den bare sættes direkte ind i dben...
Avatar billede eagleeye Praktikant
19. januar 2003 - 11:24 #1
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 php_newbie Nybegynder
19. januar 2003 - 11:50 #2
Det må da kunne laves kortere...

skal bare have afvide om de første 7 bogstaver er http:// hvis de er det er det fint og hvis de ikke er det skal det indstættes foran...
Avatar billede sostack Nybegynder
19. januar 2003 - 12:54 #3
Noget i retning af:
if(InStr(0, "http://", tekst_fra_dit_input_felt, 1)) then
tekst_fra_dit_input_felt = tekst_fra_dit_input_felt
else
tekst_fra_dit_input_felt = "http://" & tekst_fra_dit_input_felt
endif

//sostack
Avatar billede hossein Nybegynder
19. januar 2003 - 12:56 #4
Hvis du skal bare tjekke de 7. tegn så kan du bruge den:
<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<%
Set rs = Server.CreateObject("ADODB.Recordset")
Set Conn = Server.CreateObject("ADODB.Connection")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("db/objects.mdb")
Conn.Open strConn

strlink = "www.eksperten.dk"
if left(strLink,7) <> "http://" then
strRetLink = "http://"& strLink
strSQL = "insert into tabel1 (gg) values ('"&strRetLink&"')"
elseif left(strlink,7) = "http://" then
strSQL = "insert into tabel1 (gg) values ('"&strLink&"')"
end if

rs.Open strSQL, strConn
%>
</BODY>
</HTML>
Avatar billede oasen Nybegynder
19. januar 2003 - 16:13 #5
Hvad med bare:

DBtekst = Replace(FORMtekst, "www", "http://www")

?
Avatar billede sostack Nybegynder
19. januar 2003 - 16:29 #6
Hmmmm.... Hvad så hvis FORMtekst = "http://www.etellerandet.dk" ?
Det vil jo blive til "http://http://www.etellerandet.dk" !!
//sostack
Avatar billede oasen Nybegynder
19. januar 2003 - 19:05 #7
Ja, okay - men så kunne den hedde:

DBtekst = Replace("#" & FORMtekst, "#www", "http://www")
Avatar billede oasen Nybegynder
19. januar 2003 - 19:08 #8
Men okay, så kommer der en hash foran http.
Det var ikke så grundig gennemtænkt...;)
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