romeoyankee Posted June 15, 2007 Share Posted June 15, 2007 hey guys.. great site by the way. First of all I am a relative php newb but am able to read and search and learn on my own. In saying that I have read and searched everything I think I can so I will ask here... I am using a script called magpierss which is supposed to parse rss files and then using my code I can combine multiple rss feeds and then create a new rss feed from that.. I seem to be having a problem with my code though... Occasionaly there is a link in an rss feed that seems to break the php code i have written somehow. Best way I can explain it is this.. if you go to the site.. http://www.cyow.ca/magpie/indextest2.php you will see that it might be working or not.. If its not run it through a feed validator I am combining about 9 rss feeds into 1. Each individual rss feed shows up fine and will validate correctly on its own. Once I combine the feeds and create my new feed the new rss feed seems to break. I mean that when you go to the link http://www.cyow.ca/magpie/indextest2.php you only see the first few stories being displayed , if that, up until the feed gets broken. I have set it so there should be 30 stories. If you were to view the source though everything looks fine.. It wont validate because I think it has something to do with a guid element.. I dont really know what that is though. http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fwww.cyow.ca%2Fmagpie%2Findextest2.php here is the script I am using to call all this info <?php require_once('magpierss/rss_fetch.inc'); $urls = array(); array_push($urls,"http://www.aviation.ca/component/option,com_rss/feed, RSS2.0/no_html,1/"); array_push($urls,"http://www.avweb.com/avwebflash/index.xml"); array_push($urls,"http://rssfeeds.usatoday.com/TP-TodayInTheSky/"); array_push($urls,"http://www.achannel.ca/ottawa/news.xml"); array_push($urls,"http://rss.msnbc.msn.com/id/3033632/device/rss/rss.xml"); array_push($urls,"http://planenews.com/rss2.php"); array_push($urls,"http://rss.cbc.ca/ottawanews.xml"); array_push($urls,"http://z.about.com/6/g/airtravel/b/index.xml"); array_push($urls,"http://www.ctv.ca/generic/generated/freeheadlines/rdf/allNewsRss.xml"); array_push($urls,"http://aviation-safety.net/rss/rss-asnnews.xml"); array_push($urls,"http://rss.canada.com/get/?F240"); $feedlimit=30; $webmasteremail="[email protected]"; $rssdescription="Cyow.ca News Feed"; $rsstitle="Cyow.ca News Feed"; $sitelink="http://www.cyow.ca"; $managingEditor="[email protected]"; $feedlimit=$feedlimit+1; $myrssfeeds=array(); foreach($urls as $urllink) { $rss1=fetch_rss($urllink); if(count($rss1->items)>$feedlimit) { $tofetch=$feedlimit; } else { $tofetch=count($rss1->items); } $counter=0; foreach ($rss1->items as $item) { if($counter<$tofetch) { array_push($myrssfeeds,$item); } $counter++; } } for($k=0;$k<count($myrssfeeds);$k++) for($j=$k;$j<count($myrssfeeds);$j++) { if(strtotime($myrssfeeds[$k][pubdate])<strtotime($myrssfeeds[$j][pubdat e])) { $swapper=$myrssfeeds[$j]; $myrssfeeds[$j]=$myrssfeeds[$k]; $myrssfeeds[$k]=$swapper; } } echo <<<END <?xml version="1.0" encoding="ISO-8859-1"?> <rss version="2.0"> <channel> END; ?> <?php echo " <docs>http://backend.userland.com/rss092</docs>"; echo" <title>".$rsstitle."</title>"; echo" <link>".$sitelink."</link>"; echo" <description>".$rssdescription."</description>"; echo" <managingEditor>".$managingEditor."</managingEditor>"; echo" <webMaster>".$webmasteremail."</webMaster>"; $builddate=gmdate('D, d M Y H:i:s', time()) . ' GMT'; print("<lastBuildDate>".$builddate."</lastBuildDate>\n"); for($i=0;$i<$feedlimit;$i++) { if($myrssfeeds[$i][pubdate]!="") { print("<item>"); print("<title>".$myrssfeeds[$i][title]."</title>"); print("<pubDate>".$myrssfeeds[$i][pubdate]."</pubDate>"); print("<link>".$myrssfeeds[$i][link]."</link>"); $description=$myrssfeeds[$i][description]; $description=preg_replace('/<img[^>]*>/i', '', $description); $description=str_replace("&"," & ", $description); $description=str_replace("<","<", $description); $description=str_replace('>','>', $description); print("<description>\n".$description."\n</description>"); print("</item>"); } } echo <<<END </channel> </rss> END; ?> What can I do to fix the guid element error?? Link to comment https://forums.phpfreaks.com/topic/55775-guid-element-breaks-my-rss-php-code/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.