解析 RSS 和 Atom 提要的 PHP 实现
RSS(ReallySimpleSyndication)是一种流行的提要,它允许早期的互联网用户以并发且一致的可读格式访问网站更新,就像JSON之于api一样。然而,RSS现在很少流行,该格式的最后一个稳定版本是在13年前的2009年。与在PHP中获取和读取jsON或解析html一样,我们可以利用php的内置函数在PHP中获取和解析RSS提要。在本文中,我们讨论了PHP库,它有两个内置函数可以帮助我们在PHP中解析RSS,还有一个内置函数可以帮助完成整个过程。使用implode()和simplexml_l
RSS(Really Simple Syndication)是一种流行的提要,它允许早期的互联网用户以并发且一致的可读格式访问网站更新,就像 JSON 之于 api 一样。 然而,RSS 现在很少流行,该格式的最后一个稳定版本是在 13 年前的 2009 年。
与在 PHP 中获取和读取 jsON 或解析 html 一样,我们可以利用 php 的内置函数在 PHP 中获取和解析 RSS 提要。
在本文中,我们讨论了 PHP 库,它有两个内置函数可以帮助我们在 PHP 中解析 RSS,还有一个内置函数可以帮助完成整个过程。
使用 implode() 和 simplexml_load_string() 在 PHP 中解析 RSS 提要
SimpleXML 库包含大量函数,可以使用 XML 将它们转换为我们可以使用 PHP 操作的对象。 第一个函数是 simplexml_load_string() ,它将帮助我们在 PHP 中解析 RSS 提要。
要了解如何解析 RSS 提要,我们将使用这个 RSS 提要,即纽约时报的 The Daily,并获取提要中所有内容的数组。
file() 函数读取 RSS 提要并返回所有内容的数组,然后 implode() 函数将数组的所有元素连接到一个字符串并返回一个字符串。
该字符串值被传递给 simplexml_load_string(),它将 XML 字符串解释为一个对象,然后使用 json_encode() 函数对该对象进行编码,并使用我们可以使用的 json_decode() 函数解码为一个数组。
$feed = implode(file('https://feeds.simplecast.com/54nAGCIl'));
$xml = simplexml_load_string($feed);
$json = json_encode($xml);
$array = json_decode($json,TRUE);
var_dump($array);
?>
输出结果如下:

使用 simplexml_load_file() 在 PHP 中解析 RSS 提要
就像 simplexml_load_string() 一样,函数 simplexml_load_file() 解释 XML。
但是,在这种情况下,解释的是 XML 文件而不是 XML 字符串。 它也返回一个对象。
由于两者都返回相同的值,因此在这段代码中,我们遍历代码以从标题、链接、描述和发布日期中选择特定的值,这些值可以应用于前面的代码片段。
为此,我们使用标签通道,它是 $xml 的子对象,然后是项目 [$i],它是标签的孙对象,它允许我们访问不同的属性(对象) 如标题、链接等。
$url = "Https://feeds.demo.com/54nAGcIl";
$xml = simplexml_load_file($url);
for ($i = 0; $i < 2; $i++) {
$title = $xml->channel->item[$i]->title;
$link = $xml->channel->item[$i]->link;
$description = $xml->channel->item[$i]->description;
$pubDate = $xml->channel->item[$i]->pubDate;
echo "\nThe Title: " . $title . ".\n";
echo "\nChannel Link: " . $link . ".\n";
echo "\nChannel Description: " . $description . ".\n";
echo "\nDate of Publication: " . $pubDate . ".\n";
}
?>
输出结果如下:

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















