php – 任何现有的RSS feed url验证器?

在我开始编写验证器以检查URL是否实际指向RSS源之前,我做了一些搜索可能存在的验证器,但没有任何可靠的验证器.

我只想询问社区是否有人通过URL了解RSS验证器?

如果我自己写,你有什么建议?

我只想检查一行文本的第一个实例,并确保它定义<?xml version =“1.0”encoding =“UTF-8”?>然后可能检查下一个项目是< rss>节点.

你有什么想法?有没有一种情况,饲料可能不遵循上述语法?

另请注意,我尝试使用的一种方法如下:

$valid = true;

try{
    $content = file_get_contents($feed);
    if (!simplexml_load_string($content)){
        $valid = false;
    }
} catch (Exception $e){
    $valid = false;
}

不幸的是,似乎我无法抑制警告(error_reporting(0)无效..)因此只是警告我.

对于任何感兴趣的人,我使用了W3C Validator API

$url = "http://feed_url.com";
$validator = "http://validator.w3.org/feed/check.cgi";
$validator .= "?url=".$url;
$validator .= "&output=soap12";

$response = file_get_contents($validator);
$a = strpos($response, '<m:validity>', 0)+12; 
$b = strpos($response, '</m:validity>', $a); 
$result = substr($response, $a, $b-$a); 
echo $result;

这将相应地返回true或false.

解决方法:

W3C Feed Validation Service提供SOAP接口.从About页面:

Is there a Web Service with a public API for this service?

Yes, there is a SOAP interface, accessible by using the query
parameter output=”soap12″ on top of a regular query. The 07002 has more details.

上一篇:PHP阅读XML播客RSS Feed


下一篇:[ASP.Net]用RssToolKit2.0解析RSS,制作RSS阅读器