nicolus / picofeed
RSS/Atom parsing library
Installs: 68 577
Dependents: 0
Suggesters: 0
Security: 0
Stars: 37
Watchers: 5
Forks: 16
Open Issues: 6
Requires
- php: >=7.1
- ext-dom: *
- ext-iconv: *
- ext-libxml: *
- ext-simplexml: *
- ext-xml: *
- guzzlehttp/guzzle: ~6.0
- kevinrob/guzzle-cache-middleware: ^2.1
- laminas/laminas-xml: ^1.0
- psr/log: ^1.0
Requires (Dev)
- blastcloud/guzzler: ^1.5
- monolog/monolog: ^1.23
- php-coveralls/php-coveralls: ^2.1
- phpdocumentor/reflection-docblock: 2.0.4
- phpunit/phpunit: ^7.0.0
Suggests
- ext-curl: PicoFeed will use cURL if present
- monolog/monolog: You can set a monolog Logger to get debug information from PicoFeed
- dev-master
- 1.0.0-rc1
- 0.1.43
- 0.1.42
- 0.1.41
- 0.1.40
- v0.1.35
- v0.1.34
- v0.1.33
- v0.1.32
- v0.1.31
- v0.1.30
- v0.1.29
- v0.1.28
- v0.1.27
- v0.1.26
- v0.1.25
- v0.1.24
- v0.1.23
- v0.1.22
- v0.1.21
- v0.1.20
- v0.1.19
- v0.1.18
- v0.1.17
- v0.1.16
- v0.1.15
- v0.1.14
- v0.1.13
- v0.1.12
- v0.1.11
- v0.1.10
- v0.1.9
- v0.1.8
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
- v0.0.2
- v0.0.1
- dev-develop
- dev-offline-tests
- dev-tests
- dev-feature/break-http
- dev-fix_datetime_tests
This package is auto-updated.
Last update: 2024-10-29 05:15:59 UTC
README
This is a fork of the original picoFeed (which has been abandoned).
This fork will strive to make picofeed as simple, fast and modern as possible by stripping out everything that's not purely directly related to parsing and creating feeds, and replacing them with third party components. Most notably, all HTTP requests are now handled by Guzzle, logging is optionally handled by Monolog, and caching will be optionally handled by Guzzle Middlewares.
Features
- Simple and fast
- Feed parser for Atom 1.0 and RSS 0.91, 0.92, 1.0 and 2.0
- Feed writer for Atom 1.0 and RSS 2.0
- Favicon fetcher
- Import/Export OPML subscriptions
- Content filter: HTML cleanup, remove pixel trackers and Ads
- Proxy support
- Content grabber: download from the original website the full content
- Enclosure detection
- RTL languages support
- License: MIT
Requirements
- PHP >= 7.1
- libxml >= 2.7
- XML PHP extensions: DOM and SimpleXML
- cURL or Stream Context (
allow_url_fopen=On
) - iconv extension
Installation
Versions
- Development version: master
- Stable version: use the last tag
Install with composer
composer require nicolus/picofeed @stable
Usage example with the Composer autoloader:
<?php require 'vendor/autoload.php'; use PicoFeed\Reader\Reader; $reader = new Reader; $resource = $reader->download('http://linuxfr.org/news.atom'); $parser = $reader->getParser( $resource->getUrl(), $resource->getContent(), $resource->getEncoding() ); $feed = $parser->execute(); echo $feed;
Documentation
- Feed parsing
- Feed creation
- Favicon fetcher
- OPML
- Image proxy (avoid SSL mixed content warnings)
- Web scraping
- Exceptions
- Debugging
- Configuration
- Running unit tests