Dynadot โ€” .com Registration $8.99

RSS Feeds

Spaceship Spaceship
Watch

Barrucadu

Established Member
Impact
64
How would I display a BBC News RSS feed on my site? what code would I use? Also I looked on the bbc site, there is a bbc news rss feed but I dont know how to use it.
 
0
•••
The views expressed on this page by users and staff are their own, not those of NamePros.
GoDaddyGoDaddy
YES - I also want to know how to do this.. thank you
 
0
•••
i have no idea i have tried to put rss feeds on my site nefore, nut they have never worked, so i've been looking aroud here but i still havent found anything really
 
0
•••
? Well you'll need something to parse the feed and output it as html. Which can be done with PHP. There are plenty of RSS readers/parsers. Just do a quick google search and you'll find quite a few.
 
0
•••
0
•••
0
•••
Class:
PHP:
<?PHP
class RSS_Parser {
    var $default_cp = 'UTF-8';
    var $CDATA = 'nochange';
    var $cp = '';
    var $items_limit = 0;
    var $stripHTML = False;
    var $date_format = '';
    var $channeltags = array ('title', 'link', 'description', 'language', 'copyright', 'managingEditor', 'webMaster', 'lastBuildDate', 'rating', 'docs');
    var $itemtags = array('title', 'link', 'description', 'author', 'category', 'comments', 'enclosure', 'guid', 'pubDate', 'source');
    var $imagetags = array('title', 'url', 'link', 'width', 'height');
    var $textinputtags = array('title', 'description', 'name', 'link');

    function Get($rss_url)
    {
        if ($this->cache_dir != '')
        {
            $cache_file = $this->cache_dir . '/rsscache_' . md5($rss_url);
            $timedif = @(time() - filemtime($cache_file));
            if ($timedif < $this->cache_time)
            {
                $result = unserialize(join('', file($cache_file)));                
                if ($result)
                {
                    $result['cached'] = 1;
                }            
            }
            else
            {
                $result = $this->Parse($rss_url);
                $serialized = serialize($result);
                if ($f = @fopen($cache_file, 'w'))
                {
                    fwrite ($f, $serialized, strlen($serialized));
                    fclose($f);
                }
                if($result)
                {
                    $result['cached'] = 0;
                }
            }
        }
        else
        {
            $result = $this->Parse($rss_url);
            if($result)
            {
                $result['cached'] = 0;
            }
        }
        return $result;
    }
    function my_preg_match ($pattern, $subject)
    {
        preg_match($pattern, $subject, $out);
        if(isset($out[1]))
        {
            if($this->CDATA == 'content')
            {
                $out[1] = strtr($out[1], array('<![CDATA['=>'', ']]>'=>''));
            }
            elseif($this->CDATA == 'strip')
            {
                $out[1] = strtr($out[1], array('<![CDATA['=>'', ']]>'=>''));
            }
            if($this->cp != '')
            {
                $out[1] = iconv($this->rsscp, $this->cp.'//TRANSLIT', $out[1]);
            }
            return trim($out[1]);
        }
        else
        {
            return '';
        }
    }


    function unhtmlentities($string) {

        $trans_tbl = get_html_translation_table(HTML_ENTITIES, ENT_QUOTES);
        $trans_tbl = array_flip ($trans_tbl);      
        $trans_tbl += array(''' => "'");
        return strtr($string, $trans_tbl);
    }

    function Parse($rss_url) {

        if($f = @fopen($rss_url, 'r'))
        {
            $rss_content = '';
            while (!feof($f))
            {
                $rss_content .= fgets($f, 4096);
            }
            fclose($f);
            $result['encoding'] = $this->my_preg_match("'encoding=[\'\"](.*?)[\'\"]'si", $rss_content);
            if ($result['encoding'] != '')
            {
                $this->rsscp = $result['encoding'];
            }

            else
            {
                $this->rsscp = $this->default_cp;
            }
            preg_match("'<channel.*?>(.*?)</channel>'si", $rss_content, $out_channel);
            foreach($this->channeltags as $channeltag)
            {
                $temp = $this->my_preg_match("'<$channeltag.*?>(.*?)</$channeltag>'si", $out_channel[1]);
                if($temp != '')
                {
                    $result[$channeltag] = $temp;
                }
            }
            if ($this->date_format != '' && ($timestamp = strtotime($result['lastBuildDate'])) !==-1)
            {
                $result['lastBuildDate'] = date($this->date_format, $timestamp);
            }
            preg_match("'<textinput(|[^>]*[^/])>(.*?)</textinput>'si", $rss_content, $out_textinfo);            
            if (isset($out_textinfo[2]))
            {
                foreach($this->textinputtags as $textinputtag)
                {
                    $temp = $this->my_preg_match("'<$textinputtag.*?>(.*?)</$textinputtag>'si", $out_textinfo[2]);
                    if ($temp != '')
                    {
                        $result['textinput_'.$textinputtag] = $temp;
                    }
                }
            }
           
            preg_match("'<image.*?>(.*?)</image>'si", $rss_content, $out_imageinfo);
            if (isset($out_imageinfo[1]))
            {
                foreach($this->imagetags as $imagetag)
                {
                    $temp = $this->my_preg_match("'<$imagetag.*?>(.*?)</$imagetag>'si", $out_imageinfo[1]);
                    if ($temp != '')
                    {
                        $result['image_'.$imagetag] = $temp;
                    }
                }
            }
            
            preg_match_all("'<item(| .*?)>(.*?)</item>'si", $rss_content, $items);
            $rss_items = $items[2];
            $i = 0;
            $result['items'] = array();
            foreach($rss_items as $rss_item)
            {

                if ($i < $this->items_limit || $this->items_limit == 0)
                {
                    foreach($this->itemtags as $itemtag)
                    {
                        $temp = $this->my_preg_match("'<$itemtag.*?>(.*?)</$itemtag>'si", $rss_item);
                        if ($temp != '')
                        {
                            $result['items'][$i][$itemtag] = $temp;
                        }
                    }

                    if($this->stripHTML && $result['items'][$i]['description'])
                    {
                        $result['items'][$i]['description'] = strip_tags($this->unhtmlentities(strip_tags($result['items'][$i]['description'])));
                    }

                    if($this->stripHTML && $result['items'][$i]['title'])
                    {
                        $result['items'][$i]['title'] = strip_tags($this->unhtmlentities(strip_tags($result['items'][$i]['title'])));
                    }

                    if($this->date_format != '' && ($timestamp = strtotime($result['items'][$i]['pubDate'])) !==-1)
                    {

                        $result['items'][$i]['pubDate'] = date($this->date_format, $timestamp);
                    }

                    $i++;
                }
            }

            $result['items_count'] = $i;
            return $result;
        }
        else
        {
            return False;
        }
    }
}
?>

Example use:
PHP:
$rss = new RSS_Parser();
$rss->cache_dir = "./temp";
$rss->cache_time = "1200";
$rss->maxresults = "25";
$url = "xml file url";
if ($rs = $rss->get("$url")) 
{
	if ($rs[image_url] != '') 
	{
	 		print("<a href=\"$rs[image_link]\"><img src=\"$rs[image_url]\" alt=\"$rs[image_title]\" vspace=\"1\" border=\"0\" /></a><br />\n");
	}
	print("<big><b><a href=\"$rs[link]\">$rs[title]</a></b></big><br />\n");
	print("$rs[description]<br />\n");
	print("<ul>\n");
	$i = "0";
	foreach($rs['items'] as $item) 
	{
		$i++;
 			if($i <= $rss->maxresults)
		{
				print("\t<li><div class=newstitle><a href=\"$item[link]\" target=\"_new$i\">".$item['title']."</a></div>".$item['description']."</li><br />\n");
			}
	}
	print("</ul>\n");
}
else 
{
	print("Error: It's not possible to reach RSS file...\n");
}

http://serversidenews.com i developed that site making a layout for it (its been changed since it was sold) and i put that as the content. Pretty straight forward.

Rep if used please :)
 
0
•••
If you aren't experienced with coding or just want a quick and easy way to add any rss feed to your Website, you can try this rss tool at the Rss Feed Help Website.
 
0
•••
hi!

i'm very new to this forum, only 15yrs old n dont know abt these. but my blog is having an icon with RSS written on it in the url bar. wat is it. wat is RSS, wat is CSS??

kindly help.
 
0
•••
0
•••
The Incredible said:
hi!

i'm very new to this forum, only 15yrs old n dont know abt these. but my blog is having an icon with RSS written on it in the url bar. wat is it. wat is RSS, wat is CSS??

kindly help.

CSS is cascading style sheets and is used for design and layout of web pages. More info can be found at http://www.w3.org/Style/CSS/

RSS is used for syndicating news articles, Ussually to allow other people to display that news on their own web site or in a program such as feedreader (http://www.feedreader.com/)
 
0
•••
Dynadot โ€” .com Registration $8.99Dynadot โ€” .com Registration $8.99
Appraise.net
Unstoppable Domains
Domain Recover
DomainEasy โ€” Zero Commission
  • The sidebar remains visible by scrolling at a speed relative to the pageโ€™s height.
Back