HTML Tabelle, php array

--------------BEARBEITEN------------------------

So, ich bin mit dem DOM-Ansatz. Hier ist was ich habe, so weit:

  <?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 />";

       }

    } 
?>

Das Problem, das ich habe ist, dass ich nur wollen, wählen Sie die td ' s aus jeder Zeile in der Tabelle. Ich bin versucht zu erreichen, das mit einer verschachtelten Schleife. leider ist der Druck den text von jeden tag auf der Seite, wie immer, viele Male, wie es tags. wie bekomme ich es so seine nur das drucken der td von jedem tr und nicht jeder td auf dem dom?


Muss ich eine html-Tabelle verwenden, da die Quelle meiner Daten, da ich keinen Zugriff auf die Datenbank. Ich vermute, die werden in der Lage, Abfragen von Daten aus der html-Tabelle muss ich erstellen eine Funktion zum konvertieren der Tabelle in ein array, oder ein mehrdimensionales array.

Habe ich die grundlegende Idee, die ich denke, aber ich brauche etwas Hilfe vollenden Sie den code, um ein array zurückgeben, basierend auf dem html-Tabelle.

Auch Wenn Sie einen besseren Weg, dies zu tun, andere als die Umwandlung der Tabelle in einen array, dann lasst es mich bitte wissen

Hier ist die Idee, die ich bisher hatte:

 <?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 ???


    } 
    ?>
Der beste Weg wäre, um ein DOM-parser, zum Beispiel php.net/manual/en/book.dom.php
stackoverflow.com/questions/3627489/php-parse-html-code
Tun 'data.htm' enthält nur eine Tabelle und Ihren Inhalt, oder es ist eine vollständige html-Seite mit viel mehr Elemente? Trotzdem, dein code ist, fehlt es immer noch an alle die Teil im Zusammenhang mit der Analyse der Tabelle Elemente. IMO möchte, Suche ich eine alternative Möglichkeit: ich weiß nicht, wie die Idee der das Lesen einer html-Tabelle.
die data.htm die Datei enthält nur die html-Tabelle, die ich brauche, um zu verwenden
können Sie sehen, meine edits oben und keine Ratschläge...danke

InformationsquelleAutor JDV590 | 2011-12-09

Schreibe einen Kommentar