2016-07-02 7 views
0

Es ist diese Websiteeinfache HTML-DOM-Parser-Tabelle Array (extended)

http://www.oxybet.com/france-vs-iceland/e/5209778/

Was will ich nicht den vollen Tisch kratzen, aber Teile dieser Tabelle.

Zum Beispiel um nur Zeilen anzuzeigen, die sportingbet stoiximan und mybet enthalten und ich brauche nicht alle Spalten nur 1 x 2 Spalten, auch die Zahlen, die mit rot sind, müssen wie bei der roten Box abgekratzt werden oder nur ein anzeigen Sternchen neben ihnen im Kratzen kann dies getan werden oder muss ich die gesamte Tabelle auf einer Datenbank zuerst abkratzen und dann die Datenbank abfragen?

Was ich jetzt habe ist dieser Code, den ich von einem anderen ähnlichen Frage in diesem Forum entlehnt, das ist:

<?php 

require('simple_html_dom.php'); 


$html = file_get_html('http://www.oxybet.com/france-vs-iceland/e/5209778/'); 

$table = $html->find('table', 0); 
$rowData = array(); 


foreach($table->find('tr') as $row) { 
// initialize array to store the cell data from each row 
$flight = array(); 

foreach($row->find('td') as $cell) { 
    // push the cell's text to the array 

    $flight[] = $cell->plaintext; 
} 
$rowData[] = $flight; 
} 

echo '<table>'; 
foreach ($rowData as $row => $tr) { 
echo '<tr>'; 
foreach ($tr as $td) 
    echo '<td>' . $td .'</td>'; 
echo '</tr>'; 
} 
echo '</table>'; 

?> 

, die die volle Tabelle zurückgibt. Was ich hauptsächlich will, ist irgendwie, die im roten Kasten (in 1 x 2 Bereichen) ausgewählten Zahlen zu erkennen und ein Sternchen neben ihnen in meinem Kratzen anzuzeigen, zweitens möchte ich wissen, ob es möglich ist, bestimmte Spalten und Reihen und nicht alles zu kratzen Muss ich XPath verwenden?

Ich bitte jemand mich in die richtige Richtung weisen ich Stunden dafür ausgegeben, wird das Handbuch erklärt nicht viel http://simplehtmldom.sourceforge.net/manual.htm

+0

kein Betrogene, sondern eine Liste von alternativen HTML-Parser http://stackoverflow.com/ Fragen/3577641/how-do-you-parse-and-process-html-xml-in-php Vielleicht einfacher zu verwenden – Terminus

+0

Es sieht so aus, als könnten Sie die roten Zahlen mit '$ tr-> find ('. neg_diff') ' – pguardiario

+0

hi nicht die negativen die positiven in der roten Box als" beste Chancen "markiert 1,50 asiawatcher

Antwort

0

Verbindung tot ist. Sie können dies jedoch mit xPath tun und auf die Zellen verweisen, die Sie nach ihrer Farbe und Reihenfolge und vielen weiteren Möglichkeiten suchen möchten.

Dieses Snippet gibt Ihnen den allgemeinen Kern; Ich arbeite an atm aus einem Projekt genommen:

function __construct($URL) 
{ 

    // make new DOM for nodes 
    $this->dom = new DOMDocument(); 

    // set error level 
    libxml_use_internal_errors(true); 

    // Grab and set HTML Source 
    $this->HTMLSource = file_get_contents($URL); 

    // Load HTML into the dom 
    $this->dom->loadHTML($this->HTMLSource); 

    // Make xPath queryable 
    $this->xpath = new DOMXPath($this->dom); 
} 

function xPathQuery($query){ 
    return $this->xpath->query($query); 
} 

Dann einfach eine Anfrage an Ihre DOMXPath passieren, wie //tr[1]

+0

hallo da gibt es Fatal error: Using $ das, wenn nicht im Objekt Kontext in/volume1 /web/arb/5.php in Zeile 11 – asiawatcher

+0

__construct ("http://www.matchmoney.com.gr/odds-comparison/"); Pfad ("/ html/body/div [10]/div [2]/div [2]/div/table/tbody/tr [1]/td [2]"); – asiawatcher