[php] html table parsen

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Hallo,

Ik wil een soort webapp maken die de roosters van mijn school laadt. In de webapp moet je kunnen kiezen van welke dag je het rooster wilt laden, dit zijn de kolommen in de roosters (html table). Na wat gegoogle had ik al een idee hoe ik het zou aanpakken maar tijdens het programmeren stuitte ik op een probleem.

Even van voor af aan beginnen. De roosters zijn in een html table gemaakt, voorbeeld:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<table border=1>
    <tr>
        <td >1</td>
        <td rowspan=2>2</td>
        <td>3</td>
        <td>4</td>
    </tr>
    <tr>
        <td>5</td>
        <td>6</td>
        <td>7</td>
    </tr>
    <tr>
        <td>8</td>
        <td>9</td>
        <td>10</td>
        <td>11</td>
    </tr>
    <tr>
        <td>12</td>
        <td>13</td>
        <td>14</td>
        <td>15</td>
    </tr>
</table>


Ik moet er dus voor zorgen dat ik de kolommen kan uitlezen (in een array zetten of wat dan ook).

Ik dacht dat ik gewoon simpel de html table kon parsen en dan alle cellen in een array zetten, maar helaas gaat dit niet. In de roosters zitten blokuren (bij elk rooster anders) deze zijn dmw rowspan=2 in de roosters gezet. Hierdoor kan ik hem nog wel parsen maar het uitlezen gaat moeilijker. Als het enkel cellen zonder rowspan=2 waren dan was het niet zo moeilijk.

Heeft iemand een idee hoe ik de roosters kan parsen? (vooral letten op de blokuren) Als je een andere manier weet die beter is idee hebt dan mag je dat natuurlijk ook vertellen. De roosters mogen ook geparsed worden dmv javascript dus dat is ook nog een optie maar dan zal ik de vraag in een ander forum moeten stellen.

Alvast bedankt!

Verwijderd

Toch vreemd dat ik nergens een regel code zie. Misschien moet je daar eens mee beginnen. Met een HTML parser uiteraard, de absolute basis moet je niet zelf willen schrijven.

  • Accesteam
  • Registratie: Maart 2009
  • Laatst online: 16-09 08:35
Eerste wat bij mij opkomt is met explode() de <tr /> gaan filteren en dan met een loopje door die array heengaan. En vervolgens daar de <td /> van exploden en dat vervolgens netjes neerzetten op de manier die jij wil.

Zullen vast ook nog andere manieren zijn :P

[EDIT] Of bedoelde je dit niet ^^

[ Voor 7% gewijzigd door Accesteam op 29-09-2011 20:21 ]


  • Styxxy
  • Registratie: Augustus 2009
  • Laatst online: 20-09 19:45
Gebruik de juiste DOM functies (http://be.php.net/manual/en/book.dom.php).

Acties:
  • 0 Henk 'm!

Verwijderd

Kun je de school niet zo ver krijgen een REST API vrij te geven ?

Zo niet ... dan zou ik ook gaan voor DomDocument

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Verwijderd schreef op dinsdag 04 oktober 2011 @ 11:42:
Kun je de school niet zo ver krijgen een REST API vrij te geven ?
In een ideale wereld... we hebben t over n school :X

Acties:
  • 0 Henk 'm!

  • danslo
  • Registratie: Januari 2003
  • Laatst online: 14:07
Begin met iets als SimpleHTMLDom... Maakt het kinderlijk eenvoudig om met jQuery-achtige selectors de DOM uit te lezen.
Pagina: 1