Need help modifying this rss parser..

I need it to grab title, link, and date. Also would like to be able to set how many items to show.

I am newbie so take it easy on me.

<?php
/*


*/

class RSSParser	{

var $title			= "";
var $link 			= "";
var $description 	= "";
var $inside_item 	= false;

// This is an example default that I chose to display on my site - [url]http://geek.scorpiorising.ca/[/url]
// Add new RSS feeds using this format;
// "http://www.wherever.com/path/to/rss/"	=> "Display name",
var $all_rss_urls = array(
						"http://news.google.com/news?svnum=10&sourceid=navclient&ie=UTF-8&rls=GGLG%2CGGLG%3A2006-09%2CGGLG%3Aen&oe=UTF-8&tab=wn&as_drrb=q&as_qdr=&as_mind=22&as_minm=11&as_maxd=22&as_maxm=12&q=Steelers+Cowher+OR+offense+OR+defense+OR+Bires+source:beaver_county_times&scoring=d&output=rss"	=> "Freshmeat.net",
			);

function startElement( $parser, $name, $attrs='' ){
	global $current_tag;

	$current_tag = $name;

	if( $current_tag == "ITEM" )
		$this->inside_item = true;

} // endfunc startElement

function endElement( $parser, $tagName, $attrs='' ){
	global $current_tag;

	if ( $tagName == "ITEM" ) {

		printf( "\t<br /><a href='%s' target='_blank'>%s</a>\n", $this->link , $this->title);

		$this->title = "";
		$this->description = "";
		$this->link = "";
		$this->inside_item = false;


	}

} // endfunc endElement

function characterData( $parser, $data ){
	global $current_tag;

	if( $this->inside_item ){
		switch($current_tag){

			case "TITLE":
				$this->title .= $data;
				break;
			case "LINK":
				$this->link .= $data;
				break;

			default:
				break;

		} // endswitch

	} // end if

} // endfunc characterData

function parse_results( $xml_parser, $rss_parser, $file )	{

	xml_set_object( $xml_parser, &$rss_parser );
	xml_set_element_handler( $xml_parser, "startElement", "endElement" );
	xml_set_character_data_handler( $xml_parser, "characterData" );

	$fp = fopen("$file","r") or die( "Error reading XML file, $file" );

	while ($data = fread($fp, 4096))	{

		// parse the data
		xml_parse( $xml_parser, $data, feof($fp) ) or die( sprintf( "XML error: %s at line %d", xml_error_string( xml_get_error_code($xml_parser) ), xml_get_current_line_number( $xml_parser ) ) );

	} // endwhile

	fclose($fp);

	xml_parser_free( $xml_parser );

} // endfunc parse_results

function show_title( $rss_url ){
				?>
					<small></small>
				<?
} // endfunc show_title

} // endclass RSSParser

global $rss_url;

// Set a default feed
if( $rss_url == "" )
	$rss_url = "http://news.google.com/news?svnum=10&sourceid=navclient&ie=UTF-8&rls=GGLG%2CGGLG%3A2006-09%2CGGLG%3Aen&oe=UTF-8&tab=wn&as_drrb=q&as_qdr=&as_mind=22&as_minm=11&as_maxd=22&as_maxm=12&q=Steelers+Cowher+OR+offense+OR+defense+OR+Bires+source:beaver_county_times&scoring=d&output=rss";

$xml_parser = xml_parser_create();
$rss_parser = new RSSParser();

$rss_parser->show_title( $rss_url );
$rss_parser->parse_results( $xml_parser, &$rss_parser, $rss_url );

?>

    Just some advice put your code in

     

    tags.. its hard to read like that

      Bob_PHP_Builder wrote:

      Just some advice put your code in

       

      tags.. its hard to read like that

      i put it in Code tags

      sorry

        Write a Reply...