在PHP中发布日期后获取RSS提要

在PHP中发布日期后获取RSS提要,php,laravel,filter,rss,rss-reader,Php,Laravel,Filter,Rss,Rss Reader,我正在使用下面的代码获取所有RSS提要,它工作正常,但我想为RSS提要添加一个过滤器,即只在提到的发布日期之后获取这些提要。例如,如果我设置了前一天的日期,那么在前一天的日期之后获取发布的提要 $client = new \GuzzleHttp\Client(); $response = $client->request('GET', $request_url, [ 'headers' => ['Accept' => 'application/xml'], 't

我正在使用下面的代码获取所有RSS提要,它工作正常,但我想为RSS提要添加一个过滤器,即只在提到的发布日期之后获取这些提要。例如,如果我设置了前一天的日期,那么在前一天的日期之后获取发布的提要

$client = new \GuzzleHttp\Client();
$response = $client->request('GET', $request_url, [
    'headers' => ['Accept' => 'application/xml'],
    'timeout' => 120
])->getBody()->getContents();

$responseXml = simplexml_load_string($response);
if ($responseXml instanceof \SimpleXMLElement)
{
        $key_value = (string)$responseXml->key_name;
}

RSS提要只是XML文档,因此无法在请求本身中过滤它们,除非端点本身实现类似的功能

如果要在Laravel应用程序的上下文中过滤结果,应将结果转换为Laravel集合。然后,可以使用集合上的方法筛选出日期早于截止点的项目。或者,您可以使用在阵列上执行相同的操作

我还补充说,手动解析RSS源是比它更麻烦的事情,你应该考虑切换到一个更持久地处理它并返回适当响应对象的库。例如,Laminas提要包括一个优秀的RSS阅读器类