jeudi 25 février 2016

Filtering RSS links with regular expressions

I'm a bit of a noob, but have been getting my feet wet building a site in php on localhost. The problem that I'm having is that I can't figure out how to filter RSS content that contains a regular expression in their links.

My code to display a RSS feed with PHP:

<?php
 ///// RSS FEED CODE
 function getFeed1($feed_url) { 
     $content = file_get_contents($feed_url);
     $x = new SimpleXmlElement($content);
     echo "<ul>";   
         foreach($x->channel->item as $entry) {
         echo "<li><a href='$entry->link'     title='$entry->title'>" . $entry->title . "</a></li>";
         }
    echo "</ul>";
}   
getFeed1("http://ift.tt/1Q3iUzQ");
?>

The results are displayed as such in a browser as links to a page,

 Espinoza wins George Woolf Memorial Jockey Award
 Dortmund will get month to clear up foot problem
 Abrams hopes McHeat stays hot for Sensational Star
 Santa Anita attendance up, handle down
 Hot Market returns from long absence on hillside turf course
 Moon Over Paris, Divina Comedia key to pick six
 Millionaire Alert Bay looks to pad bankroll in Sensational Star
 Santa Anita to replace turf course this summer
 Free: Santa Anita horses to watch for week of Feb. 22
 Iron Rob vanned off after winning Baffle Stakes

I am trying to figure out how to use an if-statement that will filter out the links(href) that start with “http://ift.tt/1LeLlvJ”.

So the results will look like:

 Espinoza wins George Woolf Memorial Jockey Award
 Santa Anita attendance up, handle down
 Millionaire Alert Bay looks to pad bankroll in Sensational Star
 Santa Anita to replace turf course this summer
 Iron Rob vanned off after winning Baffle Stakes

I've spent the last two days trying different variations of:

 if (strpos($x, 'http://ift.tt/1LeLlvJ') !== false) 

and

 if (preg_match('http://ift.tt/1LeLlvJ', $x))        

Yet I can't get the syntax right or I'm screwing up somewhere.

I have found post that suggest using third party filters, or the dead yahoo pipes, yet I have a feeling that what I seek can be accomplished with an if-statement. I have yet to find anything that can parse out a rss href using a regular expression.

For the people who know php, what am I missing? I have spent the last two days googling and trying different things mentioned on the internet, but to no avail. I know the chase is always better then the catch, yet I lost the tracks of my prey. Please Help by pointing me, and others who found this post, find the trail.

Thank you

Aucun commentaire:

Enregistrer un commentaire