Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用以前的pubDate在以后发布时解析最新的RSS项目_Php_Xml Parsing_Rss - Fatal编程技术网

Php 使用以前的pubDate在以后发布时解析最新的RSS项目

Php 使用以前的pubDate在以后发布时解析最新的RSS项目,php,xml-parsing,rss,Php,Xml Parsing,Rss,我使用以下过程解析RSS源: 解析器运行一次,获取所有RSS项并存储运行时间 然后,每次它再次运行时,它都会检查RSS项目是否有更新的版本 pubDate比上次运行的时间长,并将其存储在数据库中 我的问题是,对于一个特定网站的提要,一些条目是在最后一个条目之后添加的,但是具有相同的pubDate,所以我的解析器不存储它们 例如,在晚上9点,它有一个项目带有Fri,2013年3月1日05:00:00 Z 稍后在中午12点,它添加了另一个具有相同发布日期的 提要不提供guid 有没有办法得到最新的商

我使用以下过程解析RSS源:

  • 解析器运行一次,获取所有RSS项并存储运行时间

  • 然后,每次它再次运行时,它都会检查RSS项目是否有更新的版本 pubDate比上次运行的时间长,并将其存储在数据库中

  • 我的问题是,对于一个特定网站的提要,一些条目是在最后一个条目之后添加的,但是具有相同的pubDate,所以我的解析器不存储它们

    例如,在晚上9点,它有一个项目带有
    Fri,2013年3月1日05:00:00 Z
    稍后在中午12点,它添加了另一个具有相同发布日期的

    提要不提供
    guid

    有没有办法得到最新的商品

    这里是我现在使用的代码

    function getLatest($lastTimeRun, $data, $pubDates)
    {
        $latestData = array();
        for($i=0;$i<sizeof($data);$i++)
        {
            $pubDates[$i] = strtotime($pubDates[$i]);
            //compare the last time the script run with each feed's item publish date                
            if($lastTimeRun < $pubDates[$i])
            {
                array_push($latestData, $data[$i]);
            }
        }
    
        return $latestData;
    }
    
    函数getLatest($lastTimeRun,$data,$pubDates) { $latestData=array();
    对于($i=0;$i),我只需比较上一个publishdate之后的最后一个x的标题就可以找到任何新条目,还可以匹配其他数据,看看它是否真的是一个新条目。然后只需限制您要查找的最后xx个条目