获取电视节目表数据:使用 PHP 解析 API 返回结果
您可以使用以下 PHP 代码来提取所需的内容:
<?php
$name = $_GET['name'];
$data = $_GET['data'];
$json = file_get_contents('http://baidu.com/api.php');
$dataArray = json_decode($json, true);
$channel_name = '';
$date = substr($data, 0, 4) . '-' . substr($data, 4, 2) . '-' . substr($data, 6, 2);
$url = $dataArray['@attributes']['info-url'];
$epg_data = [];
foreach ($dataArray['channel'] as $channel) {
if ($channel['display-name'] == $name) {
$channel_name = $channel['display-name'];
break;
}
}
foreach ($dataArray['programme'] as $programme) {
if ($programme['@attributes']['channel'] == $channel_name && $programme['@attributes']['start'] >= $data . '000000 +0800' && $programme['@attributes']['stop'] <= $data . '235959 +0800') {
$start = substr($programme['@attributes']['start'], 8, 2) . ':' . substr($programme['@attributes']['start'], 10, 2);
$end = substr($programme['@attributes']['stop'], 8, 2) . ':' . substr($programme['@attributes']['stop'], 10, 2);
$title = $programme['@attributes']['title'];
$epg_data[] = ['start' => $start, 'end' => $end, 'title' => $title];
}
}
$output = [
'channel_name' => $channel_name,
'date' => $date,
'url' => $url,
'epg_data' => $epg_data
];
echo json_encode($output);
?>
将上述代码保存为 xx.php 文件,并将文件上传到您的服务器上。然后,您可以通过访问 http://xxx.com/xx.php?name=重庆新闻&data=20230908 来获取所需的输出。请确保将 xxx.com 替换为您的域名或服务器 IP 地址。
原文地址: https://www.cveoy.top/t/topic/ofbs 著作权归作者所有。请勿转载和采集!