PHPackages                             imelgrat/opml-parser - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. imelgrat/opml-parser

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

imelgrat/opml-parser
====================

OPML Parser Class: Extract the properties of content from OPML files.

2.2.0(7y ago)84441[1 issues](https://github.com/imelgrat/opml-parser/issues)[1 PRs](https://github.com/imelgrat/opml-parser/pulls)MITPHPPHP &gt;=5.3.0

Since Sep 13Pushed 7y ago2 watchersCompare

[ Source](https://github.com/imelgrat/opml-parser)[ Packagist](https://packagist.org/packages/imelgrat/opml-parser)[ Docs](https://github.com/imelgrat/opml-parser)[ RSS](/packages/imelgrat-opml-parser/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (2)Dependencies (1)Versions (4)Used By (0)

OPML Parser
===========

[](#opml-parser)

[![GitHub license](https://camo.githubusercontent.com/fd7f9358f03c26f0d2b8ce825419674786dd93829b8f13da417f9bfd83245c23/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f696d656c677261742f6f706d6c2d7061727365722e7376673f7374796c653d666c61742d737175617265)](https://github.com/imelgrat/opml-parser/blob/master/LICENSE)[![GitHub release](https://camo.githubusercontent.com/86bb88f7258fe493b22021f27a3feb801fb0bfdd42d75e327bfd5f4de014bf41/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f696d656c677261742f6f706d6c2d7061727365722e7376673f7374796c653d666c61742d737175617265)](https://github.com/imelgrat/opml-parser/releases)[![Total Downloads](https://camo.githubusercontent.com/91dcc85fc900801f708164170c7143851b2fccd43fcc81e0222a978344c11b89/68747470733a2f2f706f7365722e707567782e6f72672f696d656c677261742f6f706d6c2d7061727365722f646f776e6c6f616473)](https://packagist.org/packages/imelgrat/opml-parser)[![GitHub issues](https://camo.githubusercontent.com/cad58e05f8042a2d21668d6599748b7b56e9ce800954e0e6c8017076b1278771/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f696d656c677261742f6f706d6c2d7061727365722e7376673f7374796c653d666c61742d737175617265)](https://github.com/imelgrat/opml-parser/issues)[![GitHub stars](https://camo.githubusercontent.com/dd543112737b43fa3fc006ecc1a153095ddbf144cb783cdd1e752d519f9eba3f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f696d656c677261742f6f706d6c2d7061727365722e7376673f7374796c653d666c61742d737175617265)](https://github.com/imelgrat/opml-parser/stargazers)

OPML Parser Class: Extract the properties of content from OPML files.

A file with the OPML file extension is an Outline Processor Markup Language file. It's saved using the XML format, and is used to exchange information between applications regardless of the operating system.

The OPML file format is often seen used as the import/export format for RSS feed reader programs. Since a file of this format can hold a collection of RSS subscription information, it's the ideal format for backing up or sharing RSS feeds. The class retrieves local or remote OPML file and parses it to extract its content into a PHP iterator. Each of the iterator elements contains the URLs of the listed content as well all other the properties of each content entry such as: name, link target, description, RSS feed, creation date and content type (RSS, HTML, song, booklist, etc..).

Developed by [Ivan Melgrati](https://twitter.com/imelgrat)

Requirements
------------

[](#requirements)

- PHP &gt;= 5.3.0

Installation
------------

[](#installation)

### Composer

[](#composer)

The recommended installation method is through [Composer](http://getcomposer.org/), a dependency manager for PHP. Just add `imelgrat/opml-parser` to your project's `composer.json` file:

```
{
    "require": {
        "imelgrat/opml-parser": "*"
    }
}

[More details](http://packagist.org/packages/imelgrat/opml-parser) can
be found over at [Packagist](http://packagist.org).

### Manually

1.  Copy `src/opml-parser.php` to your codebase, perhaps to the `vendor`
    directory.
2.  Add the `OPML_Parser` class to your autoloader or `require` the file
    directly.

Then, in order to use the OPML class, you need to invoke the "use" operator to bring the class into skope.

```php

```

Feedback
--------

[](#feedback)

Please open an issue to request a feature or submit a bug report. Or even if you just want to provide some feedback, I'd love to hear. I'm also available on Twitter as [@imelgrat](https://twitter.com/imelgrat).

Contributing
------------

[](#contributing)

1. Fork it.
2. Create your feature branch (`git checkout -b my-new-feature`).
3. Commit your changes (`git commit -am 'Added some feature'`).
4. Push to the branch (`git push origin my-new-feature`).
5. Create a new Pull Request.

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~356 days

Total

3

Last Release

2858d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1771952?v=4)[Iván Melgrati](/maintainers/imelgrat)[@imelgrat](https://github.com/imelgrat)

---

Top Contributors

[![imelgrat](https://avatars.githubusercontent.com/u/1771952?v=4)](https://github.com/imelgrat "imelgrat (4 commits)")

---

Tags

composercomposer-packageextractopmlopml-filesopml-outlineopml-parseropml-to-jsonparserparsing-engineparsing-libraryphprssrss-feedxmlxml-parserxmlparserHTML Parserxml-parseropmlPHP iteratorrss parserOPML parserOPML iteratorparser HTMLplaylist parser

### Embed Badge

![Health badge](/badges/imelgrat-opml-parser/health.svg)

```
[![Health](https://phpackages.com/badges/imelgrat-opml-parser/health.svg)](https://phpackages.com/packages/imelgrat-opml-parser)
```

###  Alternatives

[masterminds/html5

An HTML5 parser and serializer.

1.8k260.4M292](/packages/masterminds-html5)[imangazaliev/didom

Simple and fast HTML parser

2.2k2.4M70](/packages/imangazaliev-didom)[orchestra/parser

XML Document Parser for Laravel and PHP

4591.7M6](/packages/orchestra-parser)[laravie/parser

XML Document Parser for PHP

2302.1M8](/packages/laravie-parser)[goetas-webservices/xsd-reader

Read any XML Schema (XSD) programmatically with PHP

615.0M19](/packages/goetas-webservices-xsd-reader)[vipnytt/sitemapparser

XML Sitemap parser class compliant with the Sitemaps.org protocol.

792.3M10](/packages/vipnytt-sitemapparser)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
