参加广播节目

时间:2013-10-17 07:40:32

标签: php html json

我有一个频道发布网站,我想进入频道CNN广播节目..

CNN在这里播放节目:(你可以在源头看到)

http://edition.cnn.com//CNNI/schedules/json/CSI.EU.html

数据如何根据退出时间?

例如

    Now program: "overflow's table"
    next program: "stack's table" in 30 minute  

这可能吗?

1 个答案:

答案 0 :(得分:1)

是的,有可能:

<?php

$html = file_get_contents('http://edition.cnn.com//CNNI/schedules/json/CSI.EU.html');

preg_match('#<textarea id="jsCode">(.*)</textarea>#is', $html, $matches);

$json = trim($matches[1]);
$json = str_replace("'", '"', $json);
$json = preg_replace('#([\w]+): ("|\[)#is', '"\\1": \\2', $json);

$json = json_decode($json, TRUE);

$startTimeUnix = time();
foreach($json['airings'] as $key => $value)
{
  if ($value['startTimeUnix'] > $startTimeUnix)
    break;
}

echo 'Now: ' , $json['airings'][$key]['programName'];   # CNN Newsroom
echo 'Next: ', $json['airings'][++$key]['programName']; # World Sport