具有值拆分的 PHP 简单 HTML DOM 解析器

标签 php html simple-html-dom

我正在使用 PHP 简单的 HTML DOM 解析器 从网站上抓取一些值。 我已经拆分了一个名为 $results 的变量(格式为:number:number) 使用 .str_replace 但我需要分别使用 $results 中的这两个数字。 这是我的代码:

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

所以我需要分别使用 $results 中的这两个数字,并且我想将所有值插入到 table 中。
谢谢

最佳答案

正如@splash58 已经在评论中提到的,您必须使用explode 轻松分隔两个值。

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

关于具有值拆分的 PHP 简单 HTML DOM 解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38713674/

相关文章:

PHP 简单 HTML DOM,通知 : Trying to get property of non-object

php - 如何在多个表中使用group_contat()函数?

jQuery 隐藏显示 id

javascript - 在点击 javascript 之前不显示搜索栏

javascript - 非常昂贵的 HTML 5 Canvas 剪辑

javascript - 如何获得 previous sibling 姐妹的名字

php - 通过每个元素的两个或多个属性使用简单的 html dom 解析器查找部分

javascript - Html Canvas 视频流

php - 在 mysql 中创建表的 php 代码的意外行为

php - 如何使用 my_theme_enqueue_styles() 为 morphology lite 创建一个 wordpress 子主题