A simple Atom/RSS parsing library for PHP.

Overview

SimplePie

SimplePie is a very fast and easy-to-use class, written in PHP, that puts the 'simple' back into 'really simple syndication'. Flexible enough to suit beginners and veterans alike, SimplePie is focused on speed, ease of use, compatibility and standards compliance.

Requirements

  • PHP 5.6+ (Required since SimplePie 1.5.3)
  • libxml2 (certain 2.7.x releases are too buggy for words, and will crash)
  • One of iconv, mbstring or intl extensions
  • cURL or fsockopen()
  • PCRE support

What comes in the package?

  1. library/ - SimplePie classes for use with the autoloader
  2. autoloader.php - The SimplePie Autoloader if you want to use the separate file version.
  3. README.markdown - This document.
  4. LICENSE.txt - A copy of the BSD license.
  5. compatibility_test/ - The SimplePie compatibility test that checks your server for required settings.
  6. demo/ - A basic feed reader demo that shows off some of SimplePie's more noticeable features.
  7. idn/ - A third-party library that SimplePie can optionally use to understand Internationalized Domain Names (IDNs).
  8. build/ - Scripts related to generating pieces of SimplePie
  9. test/ - SimplePie's unit test suite.

Where's simplepie.inc?

Since SimplePie 1.3, we've split the classes into separate files to make it easier to maintain and use.

If you'd like a single monolithic file, you can run php build/compile.php to generate SimplePie.compiled.php.

To start the demo

  1. Upload this package to your webserver.
  2. Make sure that the cache folder inside of the demo folder is server-writable.
  3. Navigate your browser to the demo folder.

Need support?

For further setup and install documentation, function references, etc., visit the wiki. If you're using the latest version off GitHub, you can also check out the API documentation.

If you can't find an answer to your question in the documentation, head on over to one of our support channels. For bug reports and feature requests, visit the issue tracker.

Project status

SimplePie is currently maintained by Malcolm Blaney.

As an open source project, SimplePie is maintained on a somewhat sporadic basis. This means that feature requests may not be fulfilled straight away, as time has to be prioritized.

If you'd like to contribute to SimplePie, the best way to get started is to fork the project on GitHub and send pull requests for patches. When doing so, please be aware of our coding standards.

Authors and contributors

Current

Alumni

Contributors

For a complete list of contributors:

  1. Pull down the latest SimplePie code
  2. In the simplepie directory, run git shortlog -ns

License

New BSD license

Comments
  • Call to a member function get_uri() on a non-object in simplepie/library/SimplePie/Misc.php on line 83

    Call to a member function get_uri() on a non-object in simplepie/library/SimplePie/Misc.php on line 83

    Hi there,

    I'm using your very wonderful code but I noticed that I run into this problem: Call to a member function get_uri() on a non-object in simplepie/library/SimplePie/Misc.php on line 83

    I really don't have an idea why this is happening.

    Kindly guide me how to fix this one.

    Thanks!

    !Bug IRI 
    opened by ghost 44
  • Require PHP 7.2 or newer

    Require PHP 7.2 or newer

    Hi all 👋

    This PR increases the required PHP version to 7.2 or newer. I propose this PR for SimplePie 1.8 (see Roadmap in #731).

    Increasing the PHP version to 7.2 will give us some new features:

    • Return type declarations
    • Strict typing (declare(strict_types=1);)
    • Anonymous classes
    • Nullable types
    • Void functions
    • Symmetric array destructuring (already used in this PR)
    • Class constant visibility (already used in this PR)
    • Abstract method overriding
    • Parameter type widening

    It will allow us to support PSR-18 HTTP client (see #520)

    Based on the download numbers from packagist.org (see below) I would say that it is save to increase the PHP version to 7.2. But I would also like to hear feedback from projects like WordPress (ping @rmccue) and FressRSS (ping @Alkarex).

    Downloads for all SimplePie versions

    Over 96% of all downloads are on PHP 7.2 or newer.

    grafik

    Downloads for SimplePie version 1.6

    Looking only at SimplePie 1.6 over 98% of all downloads are on PHP 7.2 or newer.

    grafik

    size/XL 
    opened by Art4 18
  • Fix tavis tests

    Fix tavis tests

    Changed log

    • Nowadays, it should let the version PHP 7+ pass the tests during doing Travis CI build.
    • In the PHP 7.x, the PHPUnit_Framework_Error_Notice class is not found. To be compatiable with the PHP 5.x, I use the class_alias to let PHPUnit_Framework_Error_Notice alias the PHPUnit\Framework\Error\Notice.
    • Consider the old tests and I sperate two different phpunit.xml.dist setting files. It can see more details about the composer.json and .travis.yml.
    • Fix the assertions when executing Travis CI build. In some test cases, the port number in url can identify the difference. I notice that the substr function is diffreent in PHP 5.x and PHP 7.x. This link can see more details about the substr difference in different PHP version. In PHP 7+, If the start character length is equal to string length, it will return empty string. But in PHP 5.x it will return boolean(false). It happens on line 916 of IRI.php.
    opened by peter279k 18
  • Facebook Notes RSS causes malformed XML

    Facebook Notes RSS causes malformed XML

    I'm using PHP 5.3.2-1 and all Facebook Notes RSS feeds causes following error:

    "This XML document is invalid, likely due to invalid characters. XML error: Not well-formed (invalid token) at line 2, column 1" (Retrieved it using error() function)

    Here is one link to feed to test against.

    This cannot be replicated with your demo, it is probably related to PHP version. But I used your normal demo/index.php to replicate this with latest Debian PHP.

    !Bug Encodings 
    opened by Ciantic 17
  • PHP Fatal error:  Class 'SimplePie_Cache_DB' not found

    PHP Fatal error: Class 'SimplePie_Cache_DB' not found

    Hi,

    the bug below happens because library/SimplePie/Cache/DB.php should be included first then library/SimplePie/Cache/MySQL.php in SimplePie.compiled.php

    PHP Fatal error: Class 'SimplePie_Cache_DB' not found in /home/metal/debian/simplepie/SimplePie.compiled.php on line 11857 PHP Stack trace: PHP 1. {main}() /root/simplepie/test-1.3.0.php:0 PHP 2. include_once() /root/simplepie/test-1.3.0.php:2

    !Bug 
    opened by marcelometal 15
  • The data could not be converted to UTF-8

    The data could not be converted to UTF-8

    Hi! I use simplepie for get rss. I create a file (test1.php) in simplepie script in the path (simplepie/demo) with this code:

    header('Content-type:text/html; charset=utf-8');
    
    include_once('../autoloader.php');
    include_once('../idn/idna_convert.class.php');
    
    $feed = new SimplePie();
    $feed->set_feed_url('http://pop-music.ir/feed');
    $feed->force_feed(true);
    $feed->set_input_encoding('UTF-8');
    $feed->set_output_encoding('UTF-8');
    $feed->init();
    $feed->handle_content_type();
    echo $feed->get_title();
    
    if ($feed->error())
    {
        echo '' . "\r\n";
    
            // ... and display it.
            echo '<p>' . htmlspecialchars($feed->error()) . "</p>\r\n";
        echo ' . "\r\n";
    }
    ?>
    

    But the script gives the following error:

    The data could not be converted to UTF-8. You MUST have either the iconv or mbstring extension installed. Upgrading to PHP 5.x (which includes iconv) is highly recommended.

    My host is upgraded for PHP 5.2.17. untitled-4

    When I check url rss like this http://pop-music.ir/feed on my script, I get error but when check this url in demo simplepie view demo this url I can view rss!!!!

    Please Help me:(

    opened by miladghiravani 14
  • get_id() issue

    get_id() issue

    im processing feeds with simple pie, in wordpress.

    and im keeping a record of each feed i process in a custom table, with a token with $item->get_id();

    but when i run a "group by token" sql query, i get multiple rows with the same token,.... which shows get_id() is not giving me unique identifiers as it should.

    please advise

    Invalid 
    opened by msolution 14
  • PHP 7 support

    PHP 7 support

    Is PHP 7 support realistic? http://php.net/supported-versions.php

    There is currently 4 errors, 3 of them most likely due to the same port-number bug... https://travis-ci.org/simplepie/simplepie


    The coding standards used are way outdated, and with files counting 3.000+ lines, isn't making the job of fixing it easier either. Normally I'm trying to contribute instead of posting issues, but that's not realistic in this case... sorry!

    2.0: Start the refactoring process, update the standards, replace old bunks of code with external maintained repositories, less code, fewer bugs, better support. Then it would be easier for everyone, also it will making sure this repository doesn't get out of date! Because who are using php 5.3 today??

    PHP 7.x 
    opened by JanPetterMG 13
  • No Output of Well-Formed XHTML, XML or HTML

    No Output of Well-Formed XHTML, XML or HTML

    get_content() bug:

    If the original feed contains <br/>, it's converted into <br>. This would be fine (albeit unnecessary) if the intended output were HTML, but since the the demo page is supposed to be XHTML that's somewhat strange, especially considering the source which is well-formed XML.

    html_entity_decode($item->get_title(), ENT_QUOTES, 'UTF-8');

    This isn't actually an issue with get_title(), but because html_entity_decode is applied in the demo code this results in things like & being displayed as &, thus breaking properly served XHTML & XML, but it's not valid HTML either.

    Since the only real issue I ran into was this turning of <br/> into <br> I fixed it with the following little dirty class. When I first encountered the bug I falsely assumed it was intentional and thus wrote it to affect all self-closed tags, but it looks like only <br/> is victimized.

    class SimplePie_XHTML extends SimplePie {
        function fix_xhtml ($html) {
            $xhtml;
            //$self_closing = array ('br', 'hr', 'input', 'img');
            $self_closing = array ('br'); ///only those not handled correctly by SimplePie go in here
            for ($i = 0; $i < count($self_closing); $i++) {
                $xhtml = preg_replace ("/<".$self_closing[$i]."(.*)>/sU","<".$self_closing[$i]."\\1/>",$html);
            }
            return $xhtml;
        }
    }
    
    Sanitizer !Feature Request 
    opened by Frenzie 12
  • Change code style to PSR-12

    Change code style to PSR-12

    This PR changes the code style in all classes and tests to PSR-12. As discussed with @jtojnar in https://github.com/simplepie/simplepie/pull/734#issuecomment-1132595248 I think that after the huge changes from #722 the timing is ideal.

    size/XXL 
    opened by Art4 11
  • fix Trying to access array offset on value of type null

    fix Trying to access array offset on value of type null

    With 7.4.0RC3

    There were 8 errors:
    
    1) OldTest::testOld with data set #682 (SimplePie_First_Item_Permalink_Test_Atom_03_Enclosure Object (...))
    Trying to access array offset on value of type null
    
    /dev/shm/BUILDROOT/php-simplepie-1.5.2-1.fc29.remi.x86_64/usr/share/php/php-simplepie/SimplePie/Item.php:961
    /dev/shm/BUILDROOT/php-simplepie-1.5.2-1.fc29.remi.x86_64/usr/share/php/php-simplepie/SimplePie/Item.php:936
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests/functions.php:328
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests/compat_test_harness.php:40
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests.php:82
    
    2) OldTest::testOld with data set #684 (SimplePie_First_Item_Permalink_Test_Atom_10_Enclosure Object (...))
    Trying to access array offset on value of type null
    
    /dev/shm/BUILDROOT/php-simplepie-1.5.2-1.fc29.remi.x86_64/usr/share/php/php-simplepie/SimplePie/Item.php:961
    /dev/shm/BUILDROOT/php-simplepie-1.5.2-1.fc29.remi.x86_64/usr/share/php/php-simplepie/SimplePie/Item.php:936
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests/functions.php:328
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests/compat_test_harness.php:40
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests.php:82
    
    3) OldTest::testOld with data set #688 (SimplePie_First_Item_Permalink_Test_Bug_10_Test_2 Object (...))
    Trying to access array offset on value of type null
    
    /dev/shm/BUILDROOT/php-simplepie-1.5.2-1.fc29.remi.x86_64/usr/share/php/php-simplepie/SimplePie/Item.php:961
    /dev/shm/BUILDROOT/php-simplepie-1.5.2-1.fc29.remi.x86_64/usr/share/php/php-simplepie/SimplePie/Item.php:936
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests/functions.php:328
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests/compat_test_harness.php:40
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests.php:82
    
    4) OldTest::testOld with data set #689 (SimplePie_First_Item_Permalink_Test_Bug_10_Test_3 Object (...))
    Trying to access array offset on value of type null
    
    /dev/shm/BUILDROOT/php-simplepie-1.5.2-1.fc29.remi.x86_64/usr/share/php/php-simplepie/SimplePie/Item.php:961
    /dev/shm/BUILDROOT/php-simplepie-1.5.2-1.fc29.remi.x86_64/usr/share/php/php-simplepie/SimplePie/Item.php:936
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests/functions.php:328
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests/compat_test_harness.php:40
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests.php:82
    
    5) OldTest::testOld with data set #690 (SimplePie_First_Item_Permalink_Test_Bug_156_Test_0 Object (...))
    Trying to access array offset on value of type null
    
    /dev/shm/BUILDROOT/php-simplepie-1.5.2-1.fc29.remi.x86_64/usr/share/php/php-simplepie/SimplePie/Item.php:961
    /dev/shm/BUILDROOT/php-simplepie-1.5.2-1.fc29.remi.x86_64/usr/share/php/php-simplepie/SimplePie/Item.php:936
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests/functions.php:328
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests/compat_test_harness.php:40
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests.php:82
    
    6) OldTest::testOld with data set #702 (SimplePie_First_Item_Permalink_Test_RSS_091_Userland_Atom_03_Link_Enclosure Object (...))
    Trying to access array offset on value of type null
    
    /dev/shm/BUILDROOT/php-simplepie-1.5.2-1.fc29.remi.x86_64/usr/share/php/php-simplepie/SimplePie/Item.php:961
    /dev/shm/BUILDROOT/php-simplepie-1.5.2-1.fc29.remi.x86_64/usr/share/php/php-simplepie/SimplePie/Item.php:936
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests/functions.php:328
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests/compat_test_harness.php:40
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests.php:82
    
    7) OldTest::testOld with data set #704 (SimplePie_First_Item_Permalink_Test_RSS_091_Userland_Atom_10_Link_Enclosure Object (...))
    Trying to access array offset on value of type null
    
    /dev/shm/BUILDROOT/php-simplepie-1.5.2-1.fc29.remi.x86_64/usr/share/php/php-simplepie/SimplePie/Item.php:961
    /dev/shm/BUILDROOT/php-simplepie-1.5.2-1.fc29.remi.x86_64/usr/share/php/php-simplepie/SimplePie/Item.php:936
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests/functions.php:328
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests/compat_test_harness.php:40
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests.php:82
    
    8) OldTest::testOld with data set #712 (SimplePie_First_Item_Permalink_Test_RSS_20_Enclosure Object (...))
    Trying to access array offset on value of type null
    
    /dev/shm/BUILDROOT/php-simplepie-1.5.2-1.fc29.remi.x86_64/usr/share/php/php-simplepie/SimplePie/Item.php:961
    /dev/shm/BUILDROOT/php-simplepie-1.5.2-1.fc29.remi.x86_64/usr/share/php/php-simplepie/SimplePie/Item.php:936
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests/functions.php:328
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests/compat_test_harness.php:40
    /dev/shm/BUILD/simplepie-173663382a9346acd53df60c7ffb20689c9cf1f6/tests/oldtests.php:82
    
    ERRORS!
    Tests: 1313, Assertions: 1413, Errors: 8.
    
    
    size/XS 
    opened by remicollet 11
  • Sanitize thumbnail URL

    Sanitize thumbnail URL

    Add missing sanitize and absolute_url on thumbnail URL.

    SimplePie normally sanitizes all URLs, but the thumbnail URL was not processed.

    Related to https://github.com/simplepie/simplepie/pull/768

    Downstream PR https://github.com/FreshRSS/FreshRSS/pull/4944

    size/M 
    opened by Alkarex 0
  • Fix case of multiple RSS2.0 enclosures

    Fix case of multiple RSS2.0 enclosures

    SimplePie only returned the first enclosure when using the RSS 2.0 syntax for enclosures, instead of returning them all.

    Please merge https://github.com/simplepie/simplepie/pull/768 first.

    Downtream PR: https://github.com/FreshRSS/FreshRSS/pull/4944

    size/L 
    opened by Alkarex 2
  • No URL Decode for enclosure links

    No URL Decode for enclosure links

    Having an urldecode returns some potentially invalid URLs for enclosures, while SimplePie does not do that for other returned URLs.

    Seems to be a similar error than https://github.com/simplepie/simplepie/commit/efb1d8e34c39276fb88fff0dcff01c673bec7e18

    This line was introduced in https://github.com/simplepie/simplepie/commit/4bbd7eacfb6940d06899fa74a08754389ddd98de

    Downstream PR https://github.com/FreshRSS/FreshRSS/pull/4944

    P.S. There are a few other bugs related to enclosure links, and I will try to address some of them in distinct PRs.

    size/M 
    opened by Alkarex 1
  • Registry: Allow using class-strings instead of magic strings

    Registry: Allow using class-strings instead of magic strings

    As discussed with @jtojnar I finalized #737 for using class-strings instead of strings in Registry class. #737 can be closed.

    It also create legacy replacements to provide BC. In future it should also possible to use an interface as $type and provide an implementing class as $class.

    size/XL 
    opened by Art4 0
  • Release 1.8.0

    Release 1.8.0

    In this PR we can prepare everything for the release of SimplePie 1.8.0

    Check list:

    • [x] bump version in constant SimplePie\SimplePie::VERSION.
    • [x] Add entries for all changes in CHANGLOG.md.
    • [x] Add missing authors and issues in CHANGLOG.md if necessary.
    • [x] Fix code style by running bin/php-cs-fixer fix.
    size/L 
    opened by Art4 4
  • Necessary website changes

    Necessary website changes

    After #756 is merged, we should do the following:

    • [ ] Change Sam’s name: https://github.com/simplepie/simplepie/issues/543#issuecomment-659126604
    • [ ] Look at the old reference docs and check if there is something useful we should preserve into PHPDoc.
    • [ ] Drop the old reference docs.
    • [ ] Clean up the plug-in list (maybe just keep a single page with list of links and brief description)
    • [ ] Figure out if the IRC channel still exists after the Freenode fiasco. Maybe create a new room at Libera or Matrix.
    • [ ] Fix wiki syntax in docs/content/wiki/misc/release_notes/simplepie_beta_3.html
    bug 
    opened by jtojnar 1
Releases(1.7.0)
  • 1.7.0(Sep 30, 2022)

    What's Changed

    • Fix parsing of HTTP Links by @Alkarex in https://github.com/simplepie/simplepie/pull/729
    • Update notes and copyright date by @Art4 in https://github.com/simplepie/simplepie/pull/727
    • Fix status_code type by @Alkarex in https://github.com/simplepie/simplepie/pull/728
    • Use PSR-4 namespaced classes by @Art4 in https://github.com/simplepie/simplepie/pull/722
    • Create tests for PSR-4 classes, refactor oldtests by @Art4 in https://github.com/simplepie/simplepie/pull/730
    • Do not use magic values for state machine state by @jtojnar in https://github.com/simplepie/simplepie/pull/735
    • Use PSR-4 classes in Registry by @Art4 in https://github.com/simplepie/simplepie/pull/736
    • GH Actions: run tests against PHP 8.2 by @jrfnl in https://github.com/simplepie/simplepie/pull/739
    • Change code style to PSR-12 by @Art4 in https://github.com/simplepie/simplepie/pull/738
    • Fix editorconfig regression by @Alkarex in https://github.com/simplepie/simplepie/pull/745
    • Fix item get_base by @Alkarex in https://github.com/simplepie/simplepie/pull/744
    • Release 1.7.0 by @Art4 in https://github.com/simplepie/simplepie/pull/733

    Full Changelog: https://github.com/simplepie/simplepie/compare/1.6.0...1.7.0

    Source code(tar.gz)
    Source code(zip)
    SimplePie.compiled.php(614.31 KB)
  • 1.6.0(Apr 21, 2022)

    What's Changed

    • GH Actions: version update for ramsey/composer-install by @jrfnl in https://github.com/simplepie/simplepie/pull/713
    • added: Sanitize::rename_attributes() by @math-GH in https://github.com/simplepie/simplepie/pull/717
    • Bugfix in MySQL cache by @Art4 in https://github.com/simplepie/simplepie/pull/720
    • Re-enable xml:base for all supported RSS formats by @Alkarex in https://github.com/simplepie/simplepie/pull/723
    • Add namespaced classes and PSR-4 support by @Art4 in https://github.com/simplepie/simplepie/pull/711
    • Add audio, video @src elements/attribute for URL resolution by @rdalverny in https://github.com/simplepie/simplepie/pull/716
    • Update CHANGELOG.md by @Art4 in https://github.com/simplepie/simplepie/pull/721
    • Add .editorconfig by @Alkarex in https://github.com/simplepie/simplepie/pull/724
    • Upload compiled file as asset + tests by @Art4 in https://github.com/simplepie/simplepie/pull/725
    • New Release 1.6.0? by @Art4 in https://github.com/simplepie/simplepie/pull/726

    New Contributors

    • @math-GH made their first contribution in https://github.com/simplepie/simplepie/pull/717
    • @rdalverny made their first contribution in https://github.com/simplepie/simplepie/pull/716

    Full Changelog: https://github.com/simplepie/simplepie/compare/1.5.8...1.6.0

    Source code(tar.gz)
    Source code(zip)
    SimplePie.compiled.php(480.13 KB)
  • 1.5.8(Dec 24, 2021)

    What's Changed

    • FIx a small typo in the error() function Docblock by @audrasjb in https://github.com/simplepie/simplepie/pull/712
    • Fix/708 version bump for 1.5.8 release by @faisal-alvi in https://github.com/simplepie/simplepie/pull/710
    • Update CHANGELOG.md, follow keepachangelog format by @Art4 in https://github.com/simplepie/simplepie/pull/709

    New Contributors

    • @audrasjb made their first contribution in https://github.com/simplepie/simplepie/pull/712
    • @faisal-alvi made their first contribution in https://github.com/simplepie/simplepie/pull/710
    • @Art4 made their first contribution in https://github.com/simplepie/simplepie/pull/709

    Full Changelog: https://github.com/simplepie/simplepie/compare/1.5.7...1.5.8

    Source code(tar.gz)
    Source code(zip)
  • 1.5.7(Dec 19, 2021)

    What's Changed

    • Fix PHP8 crash due to insufficient isset test by @Alkarex in https://github.com/simplepie/simplepie/pull/670
    • gitignore tests by @Alkarex in https://github.com/simplepie/simplepie/pull/671
    • Reduce memory when parsing large feeds by @Alkarex in https://github.com/simplepie/simplepie/pull/672
    • PHP8 catch ValueError for loadHTML() by @Alkarex in https://github.com/simplepie/simplepie/pull/673
    • Provide access to HTTP status code by @Alkarex in https://github.com/simplepie/simplepie/pull/674
    • Fix wrong type hint by @Alkarex in https://github.com/simplepie/simplepie/pull/678
    • Force HTTPS for selected domains by @Alkarex in https://github.com/simplepie/simplepie/pull/676
    • Prevent cache polution by @Alkarex in https://github.com/simplepie/simplepie/pull/675
    • Fix typo in comment by @Alkarex in https://github.com/simplepie/simplepie/pull/680
    • Remove HTTP credentials in HTTP Referer by @Alkarex in https://github.com/simplepie/simplepie/pull/681
    • CI: switch to GH Actions by @jrfnl in https://github.com/simplepie/simplepie/pull/688
    • PHP 8.1: fix "passing null to non-nullable" deprecation notice by @jrfnl in https://github.com/simplepie/simplepie/pull/689
    • Tests: PHPUnit cross-version compatibility by @jrfnl in https://github.com/simplepie/simplepie/pull/690
    • Tests: use strict assertions by @jrfnl in https://github.com/simplepie/simplepie/pull/692
    • CacheTest: handle different exceptions PHP cross-version by @jrfnl in https://github.com/simplepie/simplepie/pull/691
    • GH Actions: don't allow builds to fail on PHP 8.0 or 8.1 by @jrfnl in https://github.com/simplepie/simplepie/pull/693
    • Tests: use the correct parameter order by @jrfnl in https://github.com/simplepie/simplepie/pull/694
    • PHPUnit: update configuration by @jrfnl in https://github.com/simplepie/simplepie/pull/696
    • fix: better deal with proxy returning proxy headers (in response to cURL's Proxy-Connection header) by @shunf4 in https://github.com/simplepie/simplepie/pull/698
    • Handle multiple Link headers by @voegelas in https://github.com/simplepie/simplepie/pull/700
    • PHP 8.2: explicitly declare properties by @jrfnl in https://github.com/simplepie/simplepie/pull/705

    New Contributors

    • @shunf4 made their first contribution in https://github.com/simplepie/simplepie/pull/698
    • @voegelas made their first contribution in https://github.com/simplepie/simplepie/pull/700

    Full Changelog: https://github.com/simplepie/simplepie/compare/1.5.6...1.5.7

    Source code(tar.gz)
    Source code(zip)
  • 1.3.2(Dec 19, 2021)

    What's Changed

    • Fix an PHP 8 issue with the 1.3 branch by @zero-24 in https://github.com/simplepie/simplepie/pull/702

    New Contributors

    • @zero-24 made their first contribution in https://github.com/simplepie/simplepie/pull/702

    Full Changelog: https://github.com/simplepie/simplepie/compare/1.3.1...1.3.2

    Source code(tar.gz)
    Source code(zip)
  • 1.5.4-fixed(Dec 17, 2019)

  • 1.5.3(Sep 22, 2019)

  • 1.5.2(Aug 2, 2018)

    Composer: Added missing php module requirements (#590) Support for Redis password and database (#589) Fix travis tests (#576) Support PHPUnit 6 (#565) URL Fragment should never be part of the request to the server (#564) Use force_fsockopen & curl_options for autodiscovery. (#561)

    Source code(tar.gz)
    Source code(zip)
  • 1.4.2(Jun 14, 2016)

    This release fixes an IRI parsing bug reported recently. It also replaces regex used to find rel links with xpath, and more cleanly separates microformats discovery and parsing when php-mf2 is not included.

    I've also been running SimplePie with all error reporting turned on for a few weeks and fixed some Notice errors that occurred infrequently.

    Source code(tar.gz)
    Source code(zip)
  • 1.4.1(Jun 2, 2016)

    New release 1.4.1:

    This was prompted by an inconsistent hash result in SimplePie_Item->get_id(). Please note that if you relied on this feature, the returned id's will again change, but hopefully for the last time. Includes other minor bug fixes and improved support for microformats feeds.

    Source code(tar.gz)
    Source code(zip)
  • 1.4-beta(Apr 11, 2016)

Owner
SimplePie
Feed parsing for PHP.
SimplePie
A simple PHP library for handling Emoji

Emoji Emoji images from unicode characters and names (i.e. :sunrise:). Built to work with Twemoji images. use HeyUpdate\Emoji\Emoji; use HeyUpdate\Emo

null 54 May 23, 2022
A simple PHP library for handling Emoji

Emoji Emoji images from unicode characters and names (i.e. :sunrise:). Built to work with Twemoji images. use HeyUpdate\Emoji\Emoji; use HeyUpdate\Emo

null 51 Jan 15, 2021
📜 Modern Simple HTML DOM Parser for PHP

?? Simple Html Dom Parser for PHP A HTML DOM parser written in PHP - let you manipulate HTML in a very easy way! This is a fork of PHP Simple HTML DOM

Lars Moelleken 665 Jan 4, 2023
This is a simple php project to help a friend how parse a xml file.

xml-parser-with-laravie Requirements PHP 7.4+ Composer 2+ How to to setup to test? This is very simple, just follow this commands git clone https://gi

Lucas Saraiva 2 Dec 3, 2021
php html parser,类似与PHP Simple HTML DOM Parser,但是比它快好几倍

HtmlParser php html解析工具,类似与PHP Simple HTML DOM Parser。 由于基于php模块dom,所以在解析html时的效率比 PHP Simple HTML DOM Parser 快好几倍。 注意:html代码必须是utf-8编码字符,如果不是请转成utf-8

俊杰jerry 522 Dec 29, 2022
A simple PHP scripting application which fetch emails from your Gmail account according to a filter and parses them for information.

A simple PHP scripting application which fetch emails from your Gmail account according to a filter and parses them for information.

Haitham Sweilem 1 Jan 18, 2022
Simple URL parser

urlparser Simple URL parser This is a simple URL parser, which returns an array of results from url of kind /module/controller/param1:value/param2:val

null 1 Oct 29, 2021
A simple class that converts your URLs to link names ✨

CuteLinkNames A simple class that converts your URLs to link names ✨ ??

♚ PH⑦ de Soria™♛ 5 Dec 9, 2022
This is a simple, streaming parser for processing large JSON documents

Streaming JSON parser for PHP This is a simple, streaming parser for processing large JSON documents. Use it for parsing very large JSON documents to

Salsify 687 Jan 4, 2023
Better Markdown Parser in PHP

Parsedown Better Markdown Parser in PHP - Demo. Features One File No Dependencies Super Fast Extensible GitHub flavored Tested in 5.3 to 7.3 Markdown

Emanuil Rusev 14.3k Jan 8, 2023
Highly-extensible PHP Markdown parser which fully supports the CommonMark and GFM specs.

league/commonmark league/commonmark is a highly-extensible PHP Markdown parser created by Colin O'Dell which supports the full CommonMark spec and Git

The League of Extraordinary Packages 2.4k Jan 1, 2023
Convert HTML to Markdown with PHP

HTML To Markdown for PHP Library which converts HTML to Markdown for your sanity and convenience. Requires: PHP 7.2+ Lead Developer: @colinodell Origi

The League of Extraordinary Packages 1.5k Dec 28, 2022
A super fast, highly extensible markdown parser for PHP

A super fast, highly extensible markdown parser for PHP What is this? A set of PHP classes, each representing a Markdown flavor, and a command line to

Carsten Brandt 989 Dec 16, 2022
An HTML5 parser and serializer for PHP.

HTML5-PHP HTML5 is a standards-compliant HTML5 parser and writer written entirely in PHP. It is stable and used in many production websites, and has w

null 1.2k Dec 31, 2022
Advanced shortcode (BBCode) parser and engine for PHP

Shortcode Shortcode is a framework agnostic PHP library allowing to find, extract and process text fragments called "shortcodes" or "BBCodes". Example

Tomasz Kowalczyk 358 Nov 26, 2022
Parsica - PHP Parser Combinators - The easiest way to build robust parsers.

Parsica The easiest way to build robust parsers in PHP.

null 0 Feb 22, 2022
UpToDocs scans a Markdown file for PHP code blocks, and executes each one in a separate process.

UpToDocs UpToDocs scans a Markdown file for PHP code blocks, and executes each one in a separate process. Include this in your CI workflows, to make s

Mathias Verraes 56 Nov 26, 2022
HTML sanitizer, written in PHP, aiming to provide XSS-safe markup based on explicitly allowed tags, attributes and values.

TYPO3 HTML Sanitizer ℹ️ Common safe HTML tags & attributes as given in \TYPO3\HtmlSanitizer\Builder\CommonBuilder still might be adjusted, extended or

TYPO3 GitHub Department 22 Dec 14, 2022
This is a php parser for plantuml source file.

PlantUML parser for PHP Overview This package builds AST of class definitions from plantuml files. This package works only with php. Installation Via

Tasuku Yamashita 5 May 29, 2022