Sto usando PHP Simple HTML DOM Parser per analizzare alcuni dati di un negozio online (anche eseguendo XAMPP 1.7.2 con PHP5.3.0), e sto riscontrando problemi con il tag <tbody>
. La struttura della tabella è, essentialy (dettagli non sono poi tanto importante):<tbody> glitch in PHP parser DOM HTML semplice
<table>
<thead>
<!--text here-->
</thead>
<tbody>
<!--text here-->
</tbody>
</table>
Ora, io sto cercando di ottenere la sezione <tbody>
utilizzando il codice:
$element = $html->find('tbody',0)->innertext;
doesn Non commetto errori, non stampa nulla quando tento di farlo eco. Ho testato il codice su altri elementi, <thead>
, <table>
, anche qualcosa come <span class="price">
e funzionano tutti bene (naturalmente, rimuovendo ", 0" non riesce il codice). Tutti danno le loro sezioni corrette. Testo esterno idem. Ma fallisce tutto su <tbody>
.
Ora, ho sfogliato il parser, ma non sono sicuro di riuscire a capirlo. Ho notato che <thead>
non è nemmeno menzionato, ma funziona bene. shrug
Immagino che potrei provare a fare la navigazione dei bambini, ma sembra che glitch pure. Ho appena provato a correre:
$el = $html->find('table',0);
$el2 = $el->children(2);
echo $el2->outertext;
e nessun dado. Ho provato a sostituire children
con first_child
e 2 con 1, e ancora nessun dado. Divertente, però, se provo ->find
anziché children
, funziona perfettamente.
Sono abbastanza sicuro di riuscire a trovare un modo per aggirare il tutto, ma questo comportamento sembra abbastanza strano da postare qui. La mia mente curiosa è felice per tutto l'aiuto che può ottenere.
FYI: Nella versione '1.11' (Rev. 184) questo codice è alla riga' 629'. – h2ooooooo
dovrebbe essere menzionato nella documentazione '>: (' –
Nella versione 1.5 (Revisione 196) il codice si trova alla riga 695 –