|
|
||
|---|---|---|
| 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();