Avatar billede crapman Nybegynder
28. august 2007 - 14:43 Der er 13 kommentarer og
1 løsning

Finde del af smil dokument

Hejsa,
Jeg har et felt i en database, som indeholder et "smil" dokument.. det er en form for XML, og ud fra det, skal jeg så lave en funktion, som finder ud af, om dokumentet/strengen indeholder et IMG tag, og derefter fjerne alt andet end img-url'en... altså eksempelvis <img src="http://www.deterdenneadressejegskalbruge.dk/ghek.jpg" region="Image">

Her er et eksempel på hvordan smil dokumentet kan se ud:

<smil><head><layout><root-layout backgroundColor="#FFFFFF" background-color="#FFFFFF" height="480px" width="640px"/>
<region id="Image" top="0" left="0" height="50%" width="100%" fit="meet"/>
<region id="Text" top="50%" left="0" height="50%" width="100%" fit="scroll"/>
</layout>
</head>
<body><par dur="4000ms"><img src="http://inbox.comsms.dk/07/08/28/4dd5c6a8610aa6cd2ddead146e67e5da/DSC00535.JPG" region="Image"></img>
<text src="http://inbox.comsms.dk/07/08/28/4dd5c6a8610aa6cd2ddead146e67e5da/smil.txt" region="Text"><param name="foreground-color" value="#000000"/>
</text>
</par>
</body>
</smil>
Avatar billede fennec Nybegynder
28. august 2007 - 14:48 #1
Ikke helt med på hvad du vil fjerne... Hvordan vil du have dit "smil" dokument til at se ud efter det er behandlet??

Vis et før og efter....
Avatar billede fennec Nybegynder
28. august 2007 - 14:49 #2
tror jeg er med... Hele den tekst du har angivet, skal bare blive til:
<img src="http://inbox.comsms.dk/07/08/28/4dd5c6a8610aa6cd2ddead146e67e5da/DSC00535.JPG" region="Image"></img>
Avatar billede fennec Nybegynder
28. august 2007 - 14:50 #3
Rigtig forstået??
Avatar billede crapman Nybegynder
28. august 2007 - 15:04 #4
Næste... :) skal kun bruge url'en til billedet...

altså.. hele smil dokumentet ind i den ene ende, og ud kommer http://inbox.comsms.dk/07/08/28/4dd5c6a8610aa6cd2ddead146e67e5da/DSC00535.JPG
Avatar billede fennec Nybegynder
28. august 2007 - 15:23 #5
Og der er kun et billed i koden?? Der kan ikke forkomme flere efter hinanden?
Avatar billede crapman Nybegynder
28. august 2007 - 15:24 #6
Det kan der godt jo, men det er kun det første jeg skal bruge :)
Avatar billede fennec Nybegynder
28. august 2007 - 15:28 #7
Den hurtige kode:

function getSmilImgUrl(fData)
dim fTmpArr
  fTmpArr = split(fData,"<img src=""")
  getSmilImgUrl = left(fTmpArr(1),inStr(fTmpArr(1),"""")-1)
end function

krav:
1. Der skal være mindst et <img tag.
2. Skal være <img src="... Kan ikke være <img region="Image" src="... eller med ' i stedet for ".
Avatar billede crapman Nybegynder
28. august 2007 - 15:30 #8
Uha, lækkert lækkert... Kan man fixe den sådan at den blot returnerer false hvis der ikke findes <img src=" ??
Avatar billede fennec Nybegynder
28. august 2007 - 15:31 #9
Det kan man godt:

function getSmilImgUrl(fData)
dim fTmpArr
  if inStr(fData,"<img src=""")
    fTmpArr = split(fData,"<img src=""")
    getSmilImgUrl = left(fTmpArr(1),inStr(fTmpArr(1),"""")-1)
  else
    getSmilImgUrl = false
  end if
end function
Avatar billede crapman Nybegynder
28. august 2007 - 15:35 #10
Lyder lækkert, men jeg får en invalid use of null...

http://www.6am.dk/infotest/mms_xml.asp
Avatar billede crapman Nybegynder
28. august 2007 - 15:39 #11
Nej ikke alligevel, men den returnerer til gengæld false
Avatar billede fennec Nybegynder
28. august 2007 - 15:54 #12
Ahh, det er sikkert et par gange hvor database feltet indeholder NULL. Det skal vi lige have taget hånd om:

function getSmilImgUrl(byVal fData)
dim fTmpArr
  fData = fData &""
  if inStr(fData,"<img src=""")
    fTmpArr = split(fData,"<img src=""")
    getSmilImgUrl = left(fTmpArr(1),inStr(fTmpArr(1),"""")-1)
  else
    getSmilImgUrl = false
  end if
end function
Avatar billede crapman Nybegynder
28. august 2007 - 15:59 #13
Så virker det :) taaak for hjælpen!

Smider du et svar?
Avatar billede fennec Nybegynder
28. august 2007 - 16:05 #14
.o) <-- One Eyed Jack
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