ahoraian/feed

一个基于PHP读取Atom订阅源(feed)的简单包

1.0.0 2020-12-12 18:22 UTC

This package is auto-updated.

Last update: 2024-09-13 03:34:12 UTC


README

订阅源阅读器(目前为Atom阅读器)

此扩展包是一个简单的订阅源阅读器,目前支持Atom订阅源。

配置

$ composer require ahoraian/feed

用法

此包内部支持一些HTTP客户端驱动程序,但它是完全可扩展的,您可以使用任何HTTP驱动程序,也支持本地Atom.xml文件(使用FileDriver代替CurlDriver)。

远程订阅源

// example url
$feedUrl = 'https://rss.dw.com/atom/rss-en-all'; 

$reader = new \Ahoraian\Feed\Reader(new \Ahoraian\Feed\Reader\Driver\CurlDriver);
$feeds = $reader->load($feedUrl);

foreach($feeds as $feed) {
     $id = $feed->getId();
     $title = $feed->getTitle();
     $authors = $feed->getAuthors();
     $links = $feed->getLinks();
     $summary = $feed->getSubtitle();
     $categories = $feed->get('category');
     $contributors = $feed->getContributors();
     $generators = $feed->getGenerator();
     $icon = $feed->getIcon();
     $logo = $feed->getLogo();
     $copyRight = $feed->getCopyright();
     $lastModificationDate = $feed->getLastModification();

    foreach ($feed->getItems() as $entry) {
        $entryId = $entry->getId();
        $entryTitle = $entry->getTitle();
        $entryAuthors = $entry->getAuthors();
        $entryContent = $entry->getContent();
        $entrySummary = $entry->getSummary();
        $entryLinks = $entry->getLinks();
        $entrySubtitle = $entry->getSubtitle();
        $entryCategories = $entry->get('category');
        $entryContributors = $entry->getContributors();
        $entryCopyright = $entry->getCopyright();
        $entrySource = $entry->getSource();
        $entryLastModification = $entry->getLastModification();
    }
}

本地

// example url
$atom = file_get_contents('feed.xml');

$reader = new \Ahoraian\Feed\Reader(new \Ahoraian\Feed\Reader\Driver\FileDriver);
$feeds = $reader->load($atom);

//...