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,365 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  
Name: Ivan Melgrati is available for providing paid consulting. Contact Ivan Melgrati .
Classes: 11 packages by
Country: Argentina Argentina
Age: 49
All time rank: 1973 in Argentina Argentina
Week rank: 178 Up3 in Argentina Argentina Equal
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

  Files folder image Files (65)  /  docs  
File Role Description
Files folder imageclasses (1 file)
Files folder imagecss (5 files, 1 directory)
Files folder imagefiles (2 files)
Files folder imagefont (1 file)
Files folder imagegraphs (2 files)
Files folder imageimages (18 files, 1 directory)
Files folder imagejs (10 files, 1 directory)
Files folder imagenamespaces (1 file)
Files folder imagereports (3 files)
  Accessible without login Plain text file .htaccess Data Auxiliary data
  Accessible without login HTML file index.html Doc. Documentation

  Files folder image Files (65)  /  docs  /  classes  
File Role Description
  Accessible without login HTML file FeedFinder.html Doc. Documentation

  Files folder image Files (65)  /  docs  /  css  
File Role Description
Files folder imagephpdocumentor-clean-icons (2 files, 1 directory)
  Accessible without login Plain text file bootstrap-combined.no-icons.min.css Data Auxiliary data
  Accessible without login Plain text file font-awesome.min.css Data Auxiliary data
  Accessible without login Plain text file jquery.iviewer.css Data Auxiliary data
  Accessible without login Plain text file prism.css Data Auxiliary data
  Accessible without login Plain text file template.css Data Auxiliary data

  Files folder image Files (65)  /  docs  /  css  /  phpdocumentor-clean-icons  
File Role Description
Files folder imagefonts (2 files)
  Accessible without login Plain text file lte-ie7.js Data Auxiliary data
  Accessible without login Plain text file style.css Data Auxiliary data

  Files folder image Files (65)  /  docs  /  css  /  phpdocumentor-clean-icons  /  fonts  
File Role Description
  Accessible without login Plain text file phpdocumentor-clean-icons.dev.svg Data Auxiliary data
  Accessible without login Plain text file phpdocumentor-clean-icons.svg Data Auxiliary data

  Files folder image Files (65)  /  docs  /  files  
File Role Description
  Accessible without login HTML file feed-finder.html Doc. Documentation
  Accessible without login Plain text file feed-finder.php.txt Doc. Documentation

  Files folder image Files (65)  /  docs  /  font  
File Role Description
  Accessible without login Plain text file fontawesome-webfont.svg Data Auxiliary data

  Files folder image Files (65)  /  docs  /  graphs  
File Role Description
  Accessible without login HTML file class.html Doc. Documentation
  Accessible without login Plain text file classes.svg Data Auxiliary data

  Files folder image Files (65)  /  docs  /  images  
File Role Description
Files folder imageiviewer (8 files)
  Accessible without login Image file android-chrome-192x192.png Icon Icon image
  Accessible without login Image file android-chrome-512x512.png Data Auxiliary data
  Accessible without login Image file apple-touch-icon-114x114.png Icon Icon image
  Accessible without login Image file apple-touch-icon-72x72.png Icon Icon image
  Accessible without login Image file apple-touch-icon.png Icon Icon image
  Accessible without login Plain text file custom-icons.svg Data Auxiliary data
  Accessible without login Image file favicon-16x16.png Icon Icon image
  Accessible without login Image file favicon-32x32.png Icon Icon image
  Accessible without login Image file favicon.ico Data Auxiliary data
  Accessible without login Image file hierarchy-item.png Icon Icon image
  Accessible without login Image file icon-class-13x13.png Icon Icon image
  Accessible without login Plain text file icon-class.svg Data Auxiliary data
  Accessible without login Image file icon-interface-13x13.png Icon Icon image
  Accessible without login Plain text file icon-interface.svg Data Auxiliary data
  Accessible without login Image file icon-trait-13x13.png Icon Icon image
  Accessible without login Plain text file icon-trait.svg Data Auxiliary data
  Accessible without login Image file mstile-150x150.png Icon Icon image
  Accessible without login Plain text file safari-pinned-tab.svg Data Auxiliary data

  Files folder image Files (65)  /  docs  /  images  /  iviewer  
File Role Description
  Accessible without login Image file grab.cur Data Auxiliary data
  Accessible without login Image file hand.cur Data Auxiliary data
  Accessible without login Image file iviewer.rotate_left.png Icon Icon image
  Accessible without login Image file iviewer.rotate_right.png Icon Icon image
  Accessible without login Image file iviewer.zoom_fit.png Icon Icon image
  Accessible without login Image file iviewer.zoom_in.png Icon Icon image
  Accessible without login Image file iviewer.zoom_out.png Icon Icon image
  Accessible without login Image file iviewer.zoom_zero.png Icon Icon image

  Files folder image Files (65)  /  docs  /  js  
File Role Description
Files folder imageui (1 directory)
  Accessible without login Plain text file bootstrap.min.js Data Auxiliary data
  Accessible without login Plain text file html5.js Data Auxiliary data
  Accessible without login Plain text file jquery-1.11.0.min.js Data Auxiliary data
  Accessible without login Plain text file jquery.dotdotdot-1.5.9.js Data Auxiliary data
  Accessible without login Plain text file jquery.dotdotdot-1.5.9.min.js Data Auxiliary data
  Accessible without login Plain text file jquery.iviewer.js Data Auxiliary data
  Accessible without login Plain text file jquery.iviewer.min.js Data Auxiliary data
  Accessible without login Plain text file jquery.mousewheel.js Data Auxiliary data
  Accessible without login Plain text file jquery.smooth-scroll.js Data Auxiliary data
  Accessible without login Plain text file prism.min.js Data Auxiliary data

  Files folder image Files (65)  /  docs  /  js  /  ui  
File Role Description
Files folder image1.10.4 (1 file)

  Files folder image Files (65)  /  docs  /  js  /  ui  /  1.10.4  
File Role Description
  Accessible without login Plain text file jquery-ui.min.js Data Auxiliary data

  Files folder image Files (65)  /  docs  /  namespaces  
File Role Description
  Accessible without login HTML file default.html Doc. Documentation

  Files folder image Files (65)  /  docs  /  reports  
File Role Description
  Accessible without login HTML file deprecated.html Doc. Documentation
  Accessible without login HTML file errors.html Doc. Documentation
  Accessible without login HTML file markers.html Doc. Documentation

  Files folder image Files (65)  /  examples  
File Role Description
  Accessible without login Plain text file example.php Example Example script

  Files folder image Files (65)  /  src  
File Role Description
  Plain text file feed-finder.php Class Class source

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,365
This week:673Up