| docs | ||
| src | ||
| tests | ||
| composer.json | ||
| phpdox.xml | ||
| phploc.xml | ||
| phpunit.xml.dist | ||
| README.md | ||
Podcast Feed Parser
A PHP library for parsing Podcast XML/RSS feeds.
Features
- Get channel metadata, such as the title and description
 - Retrieve a list of the episodes
 - Supports iTunes metadata such as categories
 - Get artwork and media files
 - Sort episodes by their publication date, episode number or split into seasons
 
Installation
composer require lukaswhite/php-feed-parser
Usage
use Lukaswhite\PodcastFeedParser\Parser;
$parser = Parser();
$parser->load('/path/to/feed/feed.rss');
$podcast = $parser->run();
or
$parser = Parser();
$parser->setContent(/** raw content */);
$podcast = $parser->run();
The run() method returns an instance of the Podcast class, on which the getEpisodes() method returns a collection of the podcast episodes.
Simple Example
This only shows a limited selection of the available fields; you'll find a complete list here.
$podcast = $parser->run();
$id = $db->insert(
    'podcasts',
    [
        'title' =>  $podcast->getTitle(),
        'description' => $podcast->getDescription(),
        'artwork' => $podcast->getArtwork()->getUri(),
    ]
);
foreach($podcast->getEpisodes() as $episode) {
    $db->insert(
        'episodes',
        [
            'podcast_id' => $id,
            'guid' => $episode->getGuid(),
            'title' =>  $episode->getTitle(),
            'description' => $episode->getDescription(),
            'media_uri' => $podcast->getMedia()->getUri(),
        ]
    );
}
return $podcast->getEpisodes()->mostRecent();