-------------- EDIT ------------------------tabella HTML per array php
Quindi vado con l'approccio DOM. Ecco quello che ho finora:
<?php function getdata(){
$contents = file_get_contents('internatdata.htm');
//create a DOM based off of the string from the html table
$DOM = new DOMDocument;
$DOM->loadHTML($contents);
//get all tr and td
$items = $DOM->getElementsByTagName('tr');
$tds = $DOM->getElementsByTagName('td');
function tdrows($elements){
$str = "";
for ($ii =0; $ii < $elements->length; $ii++){
$str .= $elements->item($ii)->nodeValue . ",";
}
return $str;
}
for ($i = 0; $i < $items->length; $i++){
echo tdrows($tds) . "; <br />";
}
}
?>
Il problema che sto avendo è che voglio solo selezionare il TD da ogni riga della tabella. Sto cercando di ottenere questo risultato con un ciclo annidato. sfortunatamente sta stampando il testo di ogni tag sulla pagina quante volte quante sono le tag. come posso ottenerlo così sta stampando solo il td di ogni tr e non tutti i td sul dom?
Ho bisogno di utilizzare una tabella html come fonte dei miei dati perché non ho accesso al database. Immagino di essere in grado di interrogare i dati dalla tabella html Ho bisogno di creare una funzione per convertire la tabella in una matrice, o una matrice multidimensionale.
Ho l'idea di base che penso ma ho bisogno di aiuto per completare il codice per restituire un array basato sulla tabella html.
Inoltre se si dispone di un modo migliore di fare questo altro che convertire la tabella in un array, allora per favore fatemelo sapere
Qui è l'idea che ho avuto finora:
<?php
function getdata(){
$contents = file_get_contents('data.htm');
//add delimiters (semicolon for a row and comma for a cell) ???
$stripped = strip_tags($contents);
//explode into an array based off the delimiters above ???
}
?>
il modo migliore sarebbe quella di utilizzare un parser DOM, ad esempio http://php.net/manual/en/book.dom.php – jli
http: //stackoverflow.com/questions/3627489/php-parse-html-code –
Do 'data.htm' contiene solo una tabella e il suo contenuto, oppure è una pagina html completa con molti più elementi? Ad ogni modo, al tuo codice manca ancora tutta la parte relativa all'analisi degli elementi della tabella. IMO, vorrei cercare un modo alternativo: non mi piace l'idea di leggere un tavolo html. – jap1968