Avatar billede biohazard_666 Nybegynder
22. september 2004 - 22:03 Der er 9 kommentarer og
1 løsning

Automatisk URL

Hejsa...
nu er den gal igen ;)

Hvordan får man et script til SELV at finde en URL i en tekst og lave den om til et normalt link??? dvs uden at der er fx [url] udenom...
Teksten kommer fra en tesktbox, og skal ind i en MySQL db..

/Bio
Avatar billede eagleeye Praktikant
22. september 2004 - 22:08 #1
Hvis du har [url] omkring kan regular expression bruges:

set regcon = new RegExp
regcon.pattern = "\[url\](.*?)\[\/url\]"
regcon.ignoreCase = true
regcon.Global = true
tekst = regcon.replace(tekst, "<a href=""$1"">$1</a>")


Sprøgsmålet er så om der er http:// i linket eller om det også skal med, eller begge to kan forkomme?
[url]http://www.eksperten.dk[/url]
[url]www.eksperten.dk[/url]
Avatar billede biohazard_666 Nybegynder
22. september 2004 - 22:11 #2
ja.. men vil helst undgå det...
Bruger ellers den version lige nu...
Avatar billede eagleeye Praktikant
22. september 2004 - 22:20 #3
Den kan udvides så den ikke kigger på http:// og selv sætte der ind:


set regcon = new RegExp
regcon.pattern = "\[url\](http:\/\/|)(.*?)\[\/url\]"
regcon.ignoreCase = true
regcon.Global = true
tekst = regcon.replace(tekst, "<a href=""http://$2"">$2</a>")
Avatar billede biohazard_666 Nybegynder
22. september 2004 - 22:28 #4
vil helst ikke have [url] [/url] med
Avatar billede eagleeye Praktikant
22. september 2004 - 22:31 #5
arh på den måde ;)


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 har selv brugt denne som laver www adresse adresse om til trykbare links.


Function LinkString2(strInput)
Set objRegExpHTTP1 = New RegExp
objRegExpHTTP1.Global = True
objRegExpHTTP1.IgnoreCase = True

objRegExpHTTP1.Pattern = "(http|ftp|https)(:\/\/[\w]+)(.[\w]+)([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?"
strOutput = objRegExpHTTP1.Replace(strInput, "<a href='$1$2$3$4' target='_blank'>$1$2$3$4</a>")

objRegExpHTTP1.Pattern = "(^|[^\/])(www)(.[\w]+)([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?"
strOutput = objRegExpHTTP1.Replace(strOutput, " $1<a href='http://$2$3$4' target='_blank'>$2$3$4</a>")

set objRegExpHTTP1 = Nothing

LinkString2 = strOutput
End Function
Avatar billede eagleeye Praktikant
22. september 2004 - 22:32 #6
Skal den både lave www og email adresse om til linkse kan det se sådan her ud:


Function LinkString22(strInput)
Set objRegExpHTTP1 = New RegExp
Set objRegExpHTTP2 = New RegExp
Set objRegExpEMail = New RegExp

objRegExpHTTP1.Pattern = "(http|ftp|https)(:\/\/[\w]+)(.[\w]+)([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?"
objRegExpHTTP2.Pattern = "(^|[^\/])(www)(.[\w]+)([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?"
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 = objRegExpHTTP1.Replace(strInput, "<a href='$1$2$3$4' target='_blank'>$1$2$3$4</a>")
strOutput = objRegExpHTTP2.Replace(strOutput, " $1<a href='http://$2$3$4' target='_blank'>$2$3$4</a>")
strOutput = objRegExpEMail.Replace(strOutput, " <a href='mailto:$1'>$1</a> ")

Set objRegExpHTTP2 = Nothing
set objRegExpHTTP1 = Nothing
Set objRegExpEMail = Nothing

LinkString22 = strOutput
End Function
Avatar billede koldy Nybegynder
22. september 2004 - 22:51 #7
eagleeyes du mener vel http://netcoders.dk
Avatar billede eagleeye Praktikant
22. september 2004 - 22:53 #8
haha.. ja naturligvis det gik vist lidt for hurtigt :)
Avatar billede biohazard_666 Nybegynder
22. september 2004 - 23:09 #9
takker :)
det virker :)
smid lige et svar :)
Avatar billede eagleeye Praktikant
22. september 2004 - 23:16 #10
Ok ;)
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