Avatar billede mick Nybegynder
01. februar 2004 - 17:34 Der er 6 kommentarer og
1 løsning

Finde linker til biledfiler

Jeg har følgende funktion som finder alle URLer i en tekststreng (alle forekomster som starter med http://, ftp:// eller www.) og gør disse om til HTML-linker.

Er der nogen der kan hjælpe mig med at modifisere denne funktion sådan at den søger efter URLer til biledfiler (altså URLer som ender på .jpg eller .gif), og tilsvarende tilføjer den nødvendige HTML-kode til disse forekomster (<img src="...">).

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
Avatar billede eagleeye Praktikant
01. februar 2004 - 17:54 #1
Skal det være URL til billede fil: www.eksperten.dk/billede.gif eller skal bare være billede.gif den skal finde?
Avatar billede eagleeye Praktikant
01. februar 2004 - 17:59 #2
Hvis den skal lave  billede.gif  som skal laves om til en imgage tag så prøv denne kode den vil lave det om til: <img src="billede.gif">


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")

    objRegExpHTTP1.Pattern = "([\w-\{\}]*?)(\.)(gif|jpg|jpeg|bmp|png)"
    strOutput = objRegExpHTTP1.Replace(strOutput, "<img src=""$1$2$3"">")

    Set objRegExpHTTP2 = Nothing
    set objRegExpHTTP1 = Nothing

    LinkString2 = strOutput
End Function
Avatar billede mick Nybegynder
01. februar 2004 - 18:18 #3
Tak for hjælpen.

Tanken var at funktionen skulle lave URLer til bileder om til image-tags. Dette gør din funktion. Men er det muligt at ændre funktionen så kun biled-urler som starter med www. eller http:// bliver lavet om til image-tags?
Avatar billede eagleeye Praktikant
01. februar 2004 - 18:53 #4
Ok så prøv denne den laver urls som slutter på et billede om til en imgaage tag:

www.eksperten.dk/bruger.gif  -->> <img src="http://www.eksperten.dk/bruger.gif">

Prøv om det er sådan det skal være :)


Function LinkString2(strInput)
    Set objRegExpHTTP1 = New RegExp
    Set objRegExpHTTP2 = New RegExp

    objRegExpHTTP1.Global = True
    objRegExpHTTP2.Global = True

    objRegExpHTTP1.IgnoreCase = True
    objRegExpHTTP2.IgnoreCase = True

    objRegExpHTTP1.Pattern = "(http|ftp)(:\/\/[\w\._-]+\.[\w\._-]+\S*?)(\.)(gif|jpg|jpeg|bmp|png)"
    strOutput = objRegExpHTTP1.Replace(strInput, "<img src=""$1$2$3$4"">")
    objRegExpHTTP1.Pattern = "(^|[^\/])(www\.)([\w\._-]+\.[\w\.-\/]+\S*?)(\.)(gif|jpg|jpeg|bmp|png)"
    strOutput = objRegExpHTTP1.Replace(strOutput, "$1<img src=""http://$2$3$4$5"">")
 
    objRegExpHTTP1.Pattern = "([^src=""])(http|ftp)(:\/\/[\w\._-]+\.[\w\._-]+\S*)"
    objRegExpHTTP2.Pattern = "(^|[^\/])(www)(\.[\w]+)([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?"


    strOutput = objRegExpHTTP1.Replace(strOutput, " <a href='$1$2$3' target='_blank'>$1$2$3</a> ")
    strOutput = objRegExpHTTP2.Replace(strOutput, " $1<a href='http://$1$2$3$4' target='_blank'>$1$2$3$4</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
Avatar billede mick Nybegynder
01. februar 2004 - 19:04 #5
Det var lige det jeg var ude efter. Mange tak for hjælpen
Avatar billede mick Nybegynder
01. februar 2004 - 19:04 #6
Kom med et svar så får du nogle poeng
Avatar billede eagleeye Praktikant
01. februar 2004 - 19:06 #7
Ok ;) her et svar.
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