0

我从这里拉一个 RSS 提要: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 为:Fri, 19 Apr 2013 14:57:47 GMT,那么 php 将仅显示 2013 年 4 月 12 日以后发布的条目,也就是 19 日之前的 7 天。

提前致谢!

4

1 回答 1

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;
}
于 2013-04-19T18:56:17.980 回答