Avatar billede janr Nybegynder
22. april 2002 - 02:41 Der er 10 kommentarer og
1 løsning

Find billeder i HTML

Hej Eksperter.

Er der nogen der ligger inde med eller kan henvise til et stykke ASP kode der, kan trække filnavnene ud på de billeder der findes i en HTML side - altså indholdet af SRC-delen af de <IMG> tags der findes på en side.

F.eks. hvis jeg har flg.:
<html><title></title><body>
tekst tekst <img src="images/image1.gif"> tekst
<img src="pix/pix1.gif">
</body></html>

Skal koden kunne returnere:
images/image1.gif
pix/pix1.gif

Jeg håber der er en der kan hjælpe!



Avatar billede mini-me Nybegynder
22. april 2002 - 03:02 #1
Skal det være ASP ? Tror det ville være nemmere at lave en funktion for de i java som returnere værdien i en streng..
Hvad skal det da bruges til ?
Avatar billede janr Nybegynder
22. april 2002 - 03:13 #2
Ja det skal være i asp, da det skal kombineres med Jmail, for HTML'en (inkl. billeder) skal sendes som en e-mail og derfor skal billederne attaches til mailen og SRC-indholdet skal udskriftet med noget andet en den originale sti & navn.

F.eks. vil <img src="image/image1.gif"> skulle skiftes ud med <img src="cid:2098098904502@192.168.1.1">

Det betyder altså, at jeg skal have bruge en stump kode der kan loope og finde hver gang der i HTML koden står src="...", hvorefter jeg skal indsætte noget i retningen af:

contentId = jmail.AddAttachment( FundneImageFil )
HTMLstr = replace (HTMLstr, FundneImageFil, "cid:" & contentId )

jeg er desværre bare ikke super god til at lave en funktion der kan læse igennem en tekst streng :-(
Avatar billede janr Nybegynder
22. april 2002 - 03:14 #3
Ups, det er vist lidt sent, der skulle stå:
contentId = jmail.AddAttachment(Server.MapPath(FundneImageFil))
Avatar billede mini-me Nybegynder
22. april 2002 - 03:24 #4
Javel ja...!! Hmmm... kan lige sove på det.. p.t har jeg ingen ideer udover at lave en "søgemaskine" som gennemgår det hele..!!
hvis du keder dig kan du jo prøve at lave det i java og dernæst smide det i et hidden field og sende det vider til asp'en og jmailen det kan lade sig gøre... har arbejdet med det her til aften... bare kun hvor den skulle replace billeder...!!
Avatar billede janr Nybegynder
22. april 2002 - 03:26 #5
Tror også selv jeg vil sove lidt på det ... klokken er jo mange :-|
Avatar billede gryn Nybegynder
22. april 2002 - 04:24 #6
Nu er jeg meget usikker, men kan man ikke bruge en URL-erstatnings-funktion-tims?

<%
Function ConvertText(TheTextMessage)
  TheText = TheTextMessage

  TheText = Replace(TheText, "src='", "src=""")
  TheText = Replace(TheText, "src=", "src=""")
  TheText = Replace(TheText, "SRC='", "src=""")
  TheText = Replace(TheText, "SRC=", "src=""")
  TheText = Replace(TheText, "'", """")

  URL = Split(TheText, "src=""")
  For I = 0 to UBound(URL)
  If I > 0 then
    UrlLen = InStr(1, URL(I), " ", vbTextCompare)
    If UrlLen = 0 Then
    UrlLen = Len(URL(I))
    Else
    UrlLen = UrlLen - 1
    End If
    TheURL = mid(URL(I), 1, UrlLen)
    URL(I) = Replace(URL(I), TheURL, "src=""" & DitIdHalloej)
  End If
  Next

  ConvertText = Join(URL)

end function
%>


Hurtigt uestet eksempel, men ideen er vist god nok.
Avatar billede janr Nybegynder
22. april 2002 - 09:23 #7
Godt forslag, men jeg skal ikke bare erstatte SRC-delen jeg skal først have trukket filnavnet og stien ud , behandle denne og dernæst erstatte den med noget andet.
Avatar billede gryn Nybegynder
22. april 2002 - 14:47 #8
Variablen TheURL indeholder stien til filnavnet + en " til at afslutte med.

f.eks.: images/logo.gif"

Håber det kan hjælpe dig
Avatar billede janr Nybegynder
22. april 2002 - 20:33 #9
Gryn, tak for dit forslag. Jeg havde vist ikke læst koden helt igennem. Jeg prøver lige om det virker, og hvis det gør, får du selvfølgelig dine points :-)
Avatar billede janr Nybegynder
22. april 2002 - 22:55 #10
Jubii, det virkede (med lidt modifikationer). Her er den endelige kode:

TheText = HTMLbody
TheText = Replace(TheText, "src='", "src=""")
TheText = Replace(TheText, "src=", "src=""")
TheText = Replace(TheText, "SRC='", "src=""")
TheText = Replace(TheText, "SRC=", "src=""")
TheText = Replace(TheText, "'", """")

URL = Split(TheText, "src=""")
For I = 0 to UBound(URL)
    If I > 0 then
        UrlLen = InStr(1, URL(I), " ", vbTextCompare)
        If UrlLen = 0 Then
            UrlLen = Len(URL(I))
        Else
            UrlLen = UrlLen - 1
        End If
        TheURL = mid(URL(I), 1, UrlLen)
        'response.write "<p><b>" & TheUrl & "</b><br>"
        UrlLenght = len(TheURL)
        TrimUrl = left(TheURL, UrlLenght - 1)
        TrimUrl = right(TrimUrl, UrlLenght - 2)
        'response.write "<b>" & TrimUrl & "</b></p>"
        contentId = jmail.AddAttachment(Server.MapPathTrimUrl))
        TheText = Replace(TheText, TheURL, "cid:" & contentId & """")
    End If
Next
HTMLbody = TheText

Gryn: Du får mine points. Mange tak for hjælpen!!
Avatar billede gryn Nybegynder
23. april 2002 - 07:31 #11
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