Text Grabbing aus einer Tabelle

PHPneu1

Mitglied
Hallo zusammen

ich habe eine einfache Tabelle in einem HTML-File. Auf einer Seite z.B. http://www.tabelle.com

Nun möchte ich mit einem PHP Script die Informationen aus der zweiten Zeile in eine oder mehrere Variabeln schreiben (nicht auf dem selben Server).


Code HTML-File:

PHP:
    <html>
    <head>
    <title>Text Tabell</title>
    </head>
    
    <body>
    <table width="792" border="0" cellspacing="0" cellpadding="0">
      <tr>
    	<td><strong>Titel</strong></td>
    	<td><strong>Zeit</strong></td>
    	<td><strong>Monat</strong></td>
    	<td><strong>Tag</strong></td>
    	<td><strong>Stunde</strong></td>
      </tr>
      <tr>
    	<td>Alles</td>  // möchte ich auslesen
    	<td>Morgen</td> // möchte ich auslesen
    	<td>November</td> // möchte ich auslesen
    	<td>Freitag</td> // möchte ich auslesen
    	<td>6</td> // möchte ich auslesen
      </tr>
    </table>
    </body>
    </html>

Besten Dank für die Hilfe
Gruss PHPneu1
 
Zuletzt bearbeitet:
PHP:
<?php
$html = <<<HTML
<html>
    <head>
    <title>Text Tabell</title>
    </head>
    
    <body>
    <table width="792" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td><strong>Titel</strong></td>
        <td><strong>Zeit</strong></td>
        <td><strong>Monat</strong></td>
        <td><strong>Tag</strong></td>
        <td><strong>Stunde</strong></td>
      </tr>
      <tr>
        <td>Alles</td>  // möchte ich auslesen
        <td>Morgen</td> // möchte ich auslesen
        <td>November</td> // möchte ich auslesen
        <td>Freitag</td> // möchte ich auslesen
        <td>6</td> // möchte ich auslesen
      </tr>
    </table>
    </body>
    </html>
HTML;

$dom = new DomDocument;
$dom->preserveWhiteSpace = FALSE;
$dom->loadHTML($html);

$lines = $dom->getElementsByTagName('tr');

$childs = $lines->item(1)->getElementsByTagName('td');
foreach($childs as $child) {
	echo $child->nodeValue."\n";
}

?>

Ich würde dies mit nem DomDocument machen, weil .... ja weil es sehr übersichtlich ist finde ich ;)

http://de2.php.net/manual/de/ref.dom.php
Da findeste die komplette Hilfe dafür.

Wie du nun die kompletten HTML-Daten von einem anderen Server holen willst, weißt du ja bestimmt schon selber ;)
 
Danke für die erste Hilfe. Es geht...

ABER

ich habe nun noch mehr folgendes versucht:

nun bekomme ich zwar die angaben raus, aber auch nette ander Feheler wie desen:

Warning: DOMDocument::loadHTML() [function.loadHTML]: htmlParseEntityRef: no name in Entity, line: 3 in C:\Inetpub\Grab\grab.php on line 14

und diese nicht zu knapp und am Schluss meine Daten-

PHP:
  $dom = new DomDocument;
  $dom->preserveWhiteSpace = FALSE;
  $dom->loadHTML($read); 
  
  $lines = $dom->getElementsByTagName('tr');
  
  $childs = $lines->item(2)->getElementsByTagName('td');
  foreach($childs as $child) {
  	echo $child->nodeValue."\n";
  }

Der Fehler ist mir eigentlich egal. Doch wie bekomme ich nun meine Daten in eine Variabel.

Danke für nochmalige Hilfe! :-)

Gruss
 
Also nochmals ein Versuch

wenn ich den unteren Code anwende bekomme ich meine Daten auf dem Bildschirm.
Ich lese also aus einer Tabelle die zweite Zeile aus.

Die Anzeige ist Alles Morgen November Freitag 6 (siehe oben im Post).

Diese daten Fett möchte ich aber in einer Variabel einlesen. (Wenn ich sie mir ansehen möchte kann ich ja immer noch mit echo anzeigen lassen.)

Bitte um dringende Hilfe.

Danke

PHP:
   $dom = new DomDocument;
   $dom->preserveWhiteSpace = FALSE;
   $dom->loadHTML($read); 
   
   $lines = $dom->getElementsByTagName('tr');
   
   $childs = $lines->item(2)->getElementsByTagName('td');
   foreach($childs as $child) {
 	  echo $child->nodeValue."\n";
   }
 
PHP:
$daten = array();
foreach($childs as $child) {
  echo array_push($daten, $child->nodeValue);
}

Das sollte dir helfen.
 
PHPneu1 hat gesagt.:
Danke

aber in $daten steht nun 12345Array und nichtAlles Morgen November Freitag 6

wie muss ich dies noch um hebeln?

Danke
Gruss

die Variable $daten ist ein Array. Du kannst nun die einzelnen Sachen, die du haben willst mit zb. $daten[0], $daten[1]... usw. ansprechen.
 
Hallo nochmals

Kann mir bitte noch jemand mit dem zusätzlichen Item helfen.
ich möchte eine zusätzliche Zeile auslesen.

Es ist dringend

Vielen Dank
 
Zurück