我目前正在用 PHP 构建一个新的在线提要阅读器。我正在开发的功能之一是提要自动发现。如果用户输入网站 URL,脚本将检测到它不是提要,并通过解析 HTML 以找到正确的<link>
标签来查找真正的提要 URL。
问题是,我目前检测 URL 是提要还是网站的方式仅在部分时间有效,而且我知道这不是最佳解决方案。现在我正在接受 CURL 响应并运行它simplexml_load_string
,如果它无法解析它,我将它视为一个网站。这是代码。
$xml = @simplexml_load_string( $site_found['content'] );
if( !$xml ) // this is a website, not a feed
{
// handle website
}
else
{
// parse feed
}
显然,这并不理想。此外,当它遇到一个可以解析的 HTML 网站时,它认为它是一个提要。
关于检测 PHP 中的提要或非提要之间差异的好方法有什么建议吗?