Avatar billede Slettet bruger
11. juli 2003 - 11:04 Der er 8 kommentarer og
1 løsning

links i forums

Jeg er i gang med min egen forum, og jeg er faktisk løbet ind i et problem. Når man skriver en adresse i et emne osv, f.eks. "http://blablabla.dk" eller "www.blablabla.dk", så skal dette kunne registreres når beskeden bliver udskrevet, og så skal det være muligt at klikke på linksene. Jeg kunne forestille mig, at det bare skal ske helt automatisk. Altså at der ikke skal stå [LINK]www.blabla.dk[/LINK] for at det bliver registreret, men at det bare bliver lavet om til et link når det hele bliver udskrevet. Er der nogen der har et forslag til hvordan man gør? Altså f.eks. noget med Replace()?
Avatar billede gertp Nybegynder
11. juli 2003 - 11:44 #1
<a href="<%= RS("dit_databasefelt") %>"><%= RS("dit_databasefelt") %></a>
Avatar billede Slettet bruger
11. juli 2003 - 11:56 #2
hmm, tror du har misforstået det :) Når jeg er i gang med et forum, så vil det nok måske sige at rs() er noget jeg kan. Det jeg snakker om er, at et felt i databasen hedder "message". I "Message" står der:

"blabla bla bla bla bla bla bla du kan downloade de nyeste opdateringer til dine produkter på http://www.microsoft.com/, da det er dem der har udviklet produktet."

Du kan godt se, at hvis jeg skriver <a href="<%=rs("message") %>"><%=rs("message") %></a>, så går det helt galt, ik? Det eneste der skal ske er, at blandt al den tekst der står i "message" så skal man kunne trykke på "http://www.microsoft.com/". Kan du følge mig?
Avatar billede musicchart.dk Nybegynder
11. juli 2003 - 12:00 #3
Dette gøres når brugeren skriver i databasen, og ikke når den bliver hentet:


tekst = request.Form("message")

tekst = Replace(Replace(Server.HTMLEncode(tekst),vbCrLf, "<br>"),"'","''")

function makeLink(str)
    '*** Make the reqular expr object
    Set objRegExp = New RegExp
    objRegExp.IgnoreCase = True
    objRegExp.Global = True

    '***Make html links
    objRegExp.Pattern = "(\bhttp\:\/\/)?(\bw{3}\.\S+\.[a-z][a-z]+\b)(\/\S+\b)?(\?\S+\b)?"
    str = objRegExp.Replace(str, "<a href="&chr(34)&"http://$2$3$4"&chr(34)&" target='_blank' class='link'>$1$2$3$4</a>")

    '***Make html mailto
    objRegExp.Pattern = "(\S+@{1}\S+\.[a-z][a-z]+\b)"
    str = objRegExp.Replace(str, "<a href="&chr(34)&"mailto:$1"&chr(34)&">$1</a>")
    Set objRegExp = Nothing
    makelink = str
end function

tekst = makelink(tekst)
Avatar billede cesil Nybegynder
11. juli 2003 - 12:02 #4
jeg forstår det ikke helt.
Den plejer da selv og kunne se at det er et link og så virker det også som det skal.
Hvordan ser dit link ud når du henter fra databasen
Avatar billede Slettet bruger
11. juli 2003 - 12:13 #5
musicchart.dk@
dit virker, men der er et lille problem:
http://www.balladefis.dk/interaktiv.asp?content=tagwall&action=show15
den første besked.. har skrevet følgende:
*******************
test http://www.balladefis.dk/
ali@balladefis.dk
*******************
output ser du i den første besked under ovenstående url. har du en løsning?
Avatar billede Slettet bruger
11. juli 2003 - 12:16 #6
Avatar billede musicchart.dk Nybegynder
11. juli 2003 - 12:16 #7
hmm... det er vel fordi der er lavet et link og mailto lige ved siden af hinanden.
Avatar billede Slettet bruger
11. juli 2003 - 12:18 #8
hehe, min fejl :) men burde da rettes på en eller anden måde. Men det fungerer fint hvis der er tekst imellem.. tak for hjælpen :)
Avatar billede musicchart.dk Nybegynder
11. juli 2003 - 12:19 #9
iorden du ;o) - og tak for point
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