我从这里提取RSS Feed:http://feeds.bbci.co.uk/news/rss.xml
在我的php中我有一个$ _GET ['Date']函数。当在查询字符串中键入日期时,php会显示自该日期以来发布的项目,如下所示:
$date1 = $_GET['Date'];
$date2 = $item->pubDate;
$publishdate = strtotime($date1);
$entrydate = strtotime($date2);
if ($publishdate > $entrydate) {
continue;
}
?>
但是,如果在查询字符串中没有输入日期,则会显示RSS中的所有项目。而不是发生这种情况,我希望能够显示仅在第一个/最新项目前7天发布的项目。我在下面用if语句开始,但我不确定如何引用第一项:
<?php
foreach($rss->channel->item as $item){
if (empty($_GET)) {
因此,如果RSS中的第一个条目的pubDate为:星期五,2013年4月19日14:57:47 GMT,那么php将仅显示2013年4月12日在19日前7天发布的条目。
提前致谢!
答案 0 :(得分:0)
$rss = simplexml_load_file('http://feeds.bbci.co.uk/news/rss.xml');
//$last = empty($_GET['Date'])?strtotime("-7 day", strtotime($rss->channel->item[0]->pubDate)):strtotime($_GET['Date']);
if(empty($_GET['Date']))
{
$date7daysago=date('dmY',strtotime("-7 day", strtotime($rss->channel->item[0]->pubDate)));
foreach($rss->channel->item as $item)
{
if(date('dmY',strtotime($item->pubDate))===$date7daysago)
{
echo $item->title.'('.$item->pubDate.')<br>';
}
}
exit;
}