2016-08-02 3 views
2

Ich verwende PHP Simple HTML DOM Parser, um einige Werte von einer Website zu kratzen. Ich habe bereits eine Variable namens $results (das Format ist: number:number) mit .str_replace aufgeteilt, aber ich muss diese beiden Zahlen von $results einzeln verwenden. Dies ist mein Code:PHP Einfache HTML-DOM-Parser mit einer Wertaufteilung

require_once '../simple_html_dom.php'; 

$html = file_get_html('http://www.betexplorer.com/soccer/belgium/jupiler-league/results/'); 

$match_dates = $html->find("td[class=last-cell nobr date]"); // we have 1 per match 
$titles = $html->find("td[class=first-cell tl]"); // 1 per match 
$results = $html->find("td[class=result]"); // 1 
$best_bets = $html->find("td[class=odds best-betrate]"); // 1 
$odds = $html->find("td[class=odds]"); // 2 

$c = $b = 0; // two counters 

foreach ($titles as $match) { 
    echo $match_dates[$c]->innertext." - ".$match->innertext." ".str_replace(':',' ',$results[$c]->innertext)." - ".$best_bets[$c++]->attr['data-odd']."/".$odds[$b++]->attr['data-odd']."/".$odds[$b++]->attr['data-odd']."<br/>"; 
} 

Also muss ich aus $results individuell diese beiden Zahlen verwenden, und ich möchte alle Werte in einen table einzufügen.
Danke

+1

'Liste ($ num1, $ num2) = explode (':', $ results [$ c] -> innertext);' – splash58

+0

Ich habe versucht, es zu implementieren, aber ich habe "Array" anstelle von Zahlen. ..how Kann ich es bitte in meinem Code implementieren? – Marci

+0

poste die 'var_dump ($ results [$ c] -> internertext)' und deinen aktuellen Code. – Jakumi

Antwort

1

Wie @ splash58 bereits in einem Kommentar erwähnt, müssen Sie explode verwenden, um die beiden Werte einfach zu trennen.

foreach ($titles as $match) { 
    list($num1, $num2) = explode(':', $results[$c]->innertext); // <- explode 
    echo $match_dates[$c]->innertext . 
     " - ".$match->innertext." ".$num1.':'.$num2 .   // <- example use 
     " - ".$best_bets[$c++]->attr['data-odd'] . 
     "/".$odds[$b++]->attr['data-odd'] . 
     "/".$odds[$b++]->attr['data-odd'] . 
     "<br/>"; 
} 
+0

Danke für Ihre Antwort. Ich habe einen Fehler: "Warnung: explode() erwartet mindestens 2 Parameter," – Marci

+0

oops, sorry, ich habe das ":" in der explodierenden Linie vergessen – Jakumi

+0

Es funktioniert! Vielen Dank! – Marci