比较时间时获取数据

时间:2018-05-04 16:43:41

标签: php html tags

我正在开发一个每天连接到网站的功能,这样我就可以获取我想要的数据。我想在html源代码中找到与当前时间匹配的时间,所以我想要获取数据。

以下是代码:

function get_shows($channel_id, $day, $skip_finished = true) 
{
   global $day;

   $url = 'http://example.com/api/GS?cid=' . $channel_id . '&offset=+00.00&day=' .$day;

   $curl = curl_init();
   curl_setopt_array($curl, array(
        CURLOPT_USERAGENT => '',
        CURLOPT_TIMEOUT => 30,
        CURLOPT_CONNECTTIMEOUT => 30,
        CURLOPT_HEADER => false,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_MAXREDIRS => 5,
        CURLOPT_URL => $url,
    ));

    $html = curl_exec($curl);
    curl_close($curl);

    // create domdocument from html retrieved
    $doc = new DOMDocument();
    $doc->preserveWhiteSpace = false;
    @$doc->loadHTML($html);
    $xpath = new DOMXPath($doc);
    }
    ?>

以下是$ html的输出:

["<a style='width: 149px;' data-time='6:00 pm' <i class=\"c-icon c-8\" >
</i> UEFA Europa League Highlights </h2> <h3>Highlights of all matches in the UEFA Europa League.
<span  >7.0</span></h3></a><a style='width: 149px;' data-time='6:30 pm' <h2><i class=\"c-icon c-8\" >
</i> UEFA Europa League Highlights </h2> <h3>Highlights of all matches in the UEFA Europa League.<span  >7.0</span></a>"]

如果我当前的时间显示为18:30,我想在html源代码中找到时间6:30 pm以匹配它或更大,以便我可以获取启动6:30 pm的所有数据方式到最后但我不知道该怎么做。

您能否告诉我一个如何使用$ xpath查询找到时间的示例,以便我可以使用html标记获取我想要的数据?

修改

这是例如:

如果我的时间显示在下午6:30,那么我想获取标签,使其显示如下:

6:30 pm

UEFA Europa League Highlights
Highlights of all matches in the UEFA Europa League.

1 个答案:

答案 0 :(得分:1)

不太确定你在问什么。你可以多次内爆和爆炸,以获得你正在寻找的细分市场。

this.selectedVideos = model.val

会给你:

$html = ["<a style='width: 149px;' data-time='6:00 pm' <i class=\"c-icon c-8\" >
</i> UEFA Europa League Highlights </h2> <h3>Highlights of all matches in the UEFA Europa League.
<span  >7.0</span></h3></a><a style='width: 149px;' data-time='6:30 pm' <h2><i class=\"c-icon c-8\" >
</i> UEFA Europa League Highlights </h2> <h3>Highlights of all matches in the UEFA Europa League.<span  >7.0</span></a>"];

$htotal=implode("<a",$html);
$harray=explode("'6:30 pm'",$htotal);
$hhalf = $harray[count($harray)-1];
$hspecific = explode("</a",$hhalf);

echo $hspecific[0];

如果这实际上是你要找的东西,我会在'data-time ='上爆炸,然后在循环通过数组时进行子搜索。我认为这更清洁,更容易理解