Avatar billede dustie Mester
05. marts 2013 - 15:17 Der er 10 kommentarer og
1 løsning

Parse html-fil ved hjælp af PHP DOM

I forbindelse med at skulle lave en ny hjemmeside til en bekendt har jeg noget frygteligt dårligt WYSIWYG HTML som jeg skal have hentet nogle strenge ud af så de kan blive puttet i en database til den nye side. Det drejer sig om billed URL'en/fil navnet i første TD i koden herunder og teksten i den anden sidste TD (i eksemplet herunder "ST*-91").

Er der en der kan give mig en hånd? Der er et pænt stykke over 1000 styk af nedenstående TD'er der skal hentes ud fra -fordelt på en masse html filer- så det ville være en stor hjælp at kunne gøre det en smule automatisk. Det er kun selve PHP DOM delen jeg er ude efter hjælp til (der skal også være lidt arbejde til mig selv jo...)


<TR>
  <TD vAlign=top align=left>
      <IMG src="/015.JPG-for-web-normal-1349797983.jpg">
  </TD>
  <TD vAlign=top align=left>
      <P> </P>
      <P> </P>
      <P>  Stanwell 51</P>
      <P> </P>
      <P>  Flame Grain</P>
      <P> </P>
      <P>  Made in Denmark</P>
      <P> </P>
      <P>  L:  14,8 cm</P>
      <P> </P>
      <P>  W:  38 g</P>
      <P> </P>
      <P>  As new</P>
  </TD>
  <TD vAlign=top align=left>
      ST*-91
  </TD>
  <TD vAlign=top align=left>
      41
  </TD>
</TR>



En komplet html kan ses her: http://tweaks.dk/parsertest.html (kildekoden er dog ikke for sarte sjæle) (;
Avatar billede arne_v Ekspert
05. marts 2013 - 15:36 #1
Hvis du laver et DOMXPath objekt iudfra dit DOMDocument, saa kan du selecte ned i det med XPath.
Avatar billede arne_v Ekspert
05. marts 2013 - 15:37 #2
Forudsaetter at DOMDocument kan parse dit HTML.

:-)
Avatar billede olebole Juniormester
05. marts 2013 - 15:45 #3
<ole>

Ikke mindst med den givne HTML-kode, bør du nok kikke på simplehtmldom  =)

/mvh
</bole>
Avatar billede dustie Mester
05. marts 2013 - 16:04 #4
Ole, da jeg søgte på simplehtmldom var dommen (stackoverflow mener jeg) at med dårlig html var det et dårligere valg. Er det forkert? Jeg er som sådan ligeglad hvad der parser koden, bare det virker (:
Avatar billede olebole Juniormester
05. marts 2013 - 16:08 #5
Det tror jeg absolut er en and. Men hvorfor prøver du ikke bare?
Avatar billede arne_v Ekspert
05. marts 2013 - 16:10 #6
DOMDocument er beregnet til XML, saa jeg kan ikek forestille mig andet end at den er ret negativ overfor daarlig HTML.
Avatar billede dustie Mester
05. marts 2013 - 16:11 #7
Det ser langt nemmere ud. Det prøver jeg. Ligger du et svar? (:
Avatar billede dustie Mester
05. marts 2013 - 16:12 #8
arne, det var mere specifikt DOMDocument::loadHTML jeg kiggede på.
Avatar billede olebole Juniormester
05. marts 2013 - 16:39 #9
Ellers tak, jeg samler ikke point. Måske Arne?  =)
Avatar billede arne_v Ekspert
08. marts 2013 - 01:46 #10
dustie>

Hvad endte du op med at bruge?
Avatar billede dustie Mester
20. april 2013 - 08:27 #11
simplehtmldom (:
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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