Skip to content
This repository has been archived by the owner on May 24, 2018. It is now read-only.

Latest commit

 

History

History
40 lines (29 loc) · 1.61 KB

zend.feed.find-feeds.rst

File metadata and controls

40 lines (29 loc) · 1.61 KB

Retrieving Feeds from Web Pages

Web pages often contain <link> tags that refer to feeds with content relevant to the particular page. Zend\Feed\Reader\Reader enables you to retrieve all feeds referenced by a web page with one simple method call:

$feedLinks = Zend\Feed\Reader\Reader::findFeedLinks('http://www.example.com/news.html');

Here the findFeedLinks() method returns a Zend\Feed\Reader\FeedSet object, that is in turn, a collection of other Zend\Feed\Reader\FeedSet objects, that are referenced by <link> tags on the news.html web page. Zend\Feed\Reader\Reader will throw a Zend\Feed\Reader\Exception\RuntimeException upon failure, such as an HTTP 404 response code or a malformed feed.

You can examine all feed links located by iterating across the collection:

$rssFeed = null;
$feedLinks = Zend\Feed\Reader\Reader::findFeedLinks('http://www.example.com/news.html');
foreach ($feedLinks as $link) {
    if (stripos($link['type'], 'application/rss+xml') !== false) {
        $rssFeed = $link['href'];
        break;
}

Each Zend\Feed\Reader\FeedSet object will expose the rel, href, type and title properties of detected links for all RSS, Atom or RDF feeds. You can always select the first encountered link of each type by using a shortcut:

$rssFeed = null;
$feedLinks = Zend\Feed\Reader\Reader::findFeedLinks('http://www.example.com/news.html');
$firstAtomFeed = $feedLinks->atom;