PHP Classes

PHP Find RSS Feed URL: Retrieve RSS feed and extract URLs they contain

Recommend this page to a friend!
     
  Info   Example   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
Not yet rated by the usersTotal: 66 All time: 10,372 This week: 673Up
Version License PHP version Categories
feed-finder 1.0.0MIT/X Consortium ...5XML, HTTP, PHP 5, Parsers
Description 

Author

This package can retrieve RSS feed and extract URLs they contain.

It can send a request to a HTTP server to retrieve the feed of a given URL. The HTTP user agent name is a configurable option.

The class also retrieves the robots.txt file of the site to determine if the requested feed is allowed to be retrieved.

The class can parse feed XML data to extract the URLs they contain.

The package supports feeds in the formats of RSS (1.0 and 2.0), ATOM and OPML.

Picture of Ivan Melgrati
  Performance   Level  
Innovation award
Innovation award
Nominee: 3x

 

Example

<?php

   
require_once ('../src/feed-finder.php');
   
$url = 'https://imelgrat.me';
   
$useragent = 'GoogleBot';
   
$obey = false;

    if(
$_POST['submit'] != '')
    {
        if(
$_POST['url'] != '')
        {
           
$url = trim($_POST['url']) ;
        }
       
        if(
$_POST['useragent'] != '')
        {
           
$useragent = trim($_POST['useragent']) ;
        }
       
       
$obey = $_POST['obey']?true:false;
       
       
$find_links = new FeedFinder();
       
$links = $find_links->setURL($url)->setUserAgent($useragent)->setObeyRobots($obey)->getFeeds();
    }
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>FeedFinder Example</title>
</head>
<body>
    <h1>Feed Finder Tester</h1>
    <form action="" method="post">
    <div><label for="url"><strong>URL: </strong><input name="url" type="text" value="<?php echo $url;?>" size="100" ></label></div>
    <div><label for="useragent"><strong>User Agent: </strong><input name="useragent" type="text" value="<?php echo $useragent;?>" size="100" ></label></div>
    <div><label for="obey"><strong>Obey robots.txt? </strong><input name="obey" type="checkbox" value="1" <?php if($obey){echo 'checked="checked"';}?> ></label></div>
    <div><input type="submit" name="submit" value="Find Feeds"></div>
    </form>
   
    <?php if($_POST['submit']!=''): ?>
<h2>Feeds found on URL:</h2>
        <?php
           
foreach($links as $row)
            {
                echo
"<p>{$row}</p>";
            }
       
?>
<?php endif; ?>
</body>
</html>


Details

FeedFinder

GitHub license GitHub release Total Downloads GitHub issues GitHub stars

A PHP class for extracting the URLs of RSS (1.0 and 2.0) and ATOM feeds associated to a page, as well as OPML outline documents.

Developed by Ivan Melgrati

Requirements

  • PHP >= 5.3.0

Installation

Composer

The recommended installation method is through Composer, a dependency manager for PHP. Just add imelgrat/feed-finder to your project's composer.json file:

{
    "require": {
        "imelgrat/feed-finder": "*"
    }
}

More details can be found over at Packagist.

Manually

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

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.

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.

  Files folder image Files (65)  
File Role Description
Files folder imagedocs (2 files, 9 directories)
Files folder imageexamples (1 file)
Files folder imagesrc (1 file)
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file phpdoc.dist.xml Data Auxiliary data
Accessible without login Plain text file README.md Doc. Documentation
Accessible without login Plain text file VERSION Data Auxiliary data

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:66
This week:0
All time:10,372
This week:673Up