Likes Likes:  0
Resultaten 1 tot 4 van de 4
Geen
  1. #1
    Iemand een php4 rss parser?
    Hostingontwikkelaar
    2.882 Berichten
    Ingeschreven
    03/07/04

    Locatie
    Maastricht

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    9 Berichten zijn liked


    Naam: Tim
    Registrar SIDN: Ja
    KvK nummer: 59418095
    Ondernemingsnummer: nvt

    Thread Starter

    Iemand een php4 rss parser?

    Ik zit alweer een hele middag te klooien met die k*t php4 die de rss nog niet zo goed erin heeft zitten. Heeft iemand misschien een mooie klasse voor me, die correct werkt en zonder fratsen zoals voor ieder item ongeveer 10 subarrays aan te maken?

    Jammer dat je dat soort dingen altijd pas aan het eind van je dag vind: http://www.phphulp.nl/php/scripts/4/1101/
    Laatst gewijzigd door WH-Tim; 31/08/07 om 17:01. Reden: Automerged Dubbelpost

  2. #2
    Iemand een php4 rss parser?
    3.810 Berichten
    Ingeschreven
    16/05/04

    Locatie
    Middelburg

    Post Thanks / Like
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    130 Berichten zijn liked


    Registrar SIDN: Ja

    Wat offtopic: Waarom draai je uberhaupt nog PHP4?

  3. #3
    Iemand een php4 rss parser?
    Hostingontwikkelaar
    2.882 Berichten
    Ingeschreven
    03/07/04

    Locatie
    Maastricht

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    9 Berichten zijn liked


    Naam: Tim
    Registrar SIDN: Ja
    KvK nummer: 59418095
    Ondernemingsnummer: nvt

    Thread Starter
    Omdat ik nog bezig ben met omzetten naar5, maar aangezien de server out of date is ben ik direct bezig met het hele omzetten inclusief nieuw framework op de nieuwe server. Kost allemaal wat werk, duurt allemaal wat langer..

  4. #4
    Iemand een php4 rss parser?
    geregistreerd gebruiker
    6.041 Berichten
    Ingeschreven
    23/10/04

    Locatie
    Amersfoort

    Post Thanks / Like
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    171 Berichten zijn liked


    Functie: Freelance IT Professional
    URL: localhost
    View randytenhave's profile on LinkedIn

    xmlnews.php

    Code:
    <?php
    // Foutafhandeling
    define(OPEN,"Er is iets fout gegaan bij het openen van de newsfeed.");
    define(PARSE,"Er is iets fout gegaan bij het verwerken van de newsfeed.");
    
    
    // Geef hier de plek van het RSS bestand aan en het aantal berichten dat u wilt tonen.
    $rss_file = "rssfeed.xml";
    $max_headlines = 99;
    
    //*************************************
    // Vanaf hier niets meer veranderen, tenzij u weet waar u mee bezig bent.
    
    class rss_parser {
    	var $flag = 0;
    	var $tag = "";
    	var $cnt=0;
    	var $max_lines;
    	
    	// <item>
    	var $title = "";
    	var $description = "";
    	var $link = "";
    	var $pubdate = "";
    	// </item>
    
    	// <channel>
    	var $channel_copyright = "";
    	var $channel_managingeditor = "";
    	var $channel_language = "";
    	var $channel_lastbuilddate = "";
    	// </channel>
    	
    
    function set_max($max) {
    	$this->max_lines = $max+1;
    }
    
    function startElement($parser, $tagname, $attributes) {
    	$this->tag = $tagname;
    	if($this->tag == "CHANNEL") { 
    		$this->flag = 1;
    	}
    	elseif($this->tag == "ITEM") {
    		$this->flag = 2;
    		$this->cnt++;
    	}
    	elseif($this->tag == "IMAGE"){ 
    		$this->flag = 3; // Dummy
    	}
    }
    
    function endElement($parser, $tagname) {
    	
    	// If we enter </item>
    	if($tagname == "ITEM") {
    		if($this->cnt == $this->max_lines) {
    			exit();
    		}
    
    		if(empty($this->description)) $this->description = "none";
    		if(empty($this->pubdate)) $this->pubdate = "unknown";
    
    		// Show the news
    		printf("<p><b>%s</b><br>", htmlspecialchars(trim($this->title)));
    		printf("%s</p>",htmlspecialchars(trim($this->description)));
    
    	unset($this->title);
    	unset($this->description);
    	unset($this->link);
    	unset($this->pubdate);
    
    	}
    
    	elseif($tagname == "CHANNEL") {
    			if(empty($this->channel_copyright)) $this->copyright = "unknown";
    			if(empty($this->channel_managingeditor)) $this->channel_managingeditor = "unknown";
    			if(empty($this->channel_language)) $this->channel_language = "unknown";
    			if(empty($this->channel_lastbuilddate)) $this->channel_lastbuilddate = "unknown";
    	}
    }
    
    function characterData($parser, $data) {
    
    	   if($this->flag == 1) {
    			switch($this->tag) {
    				case "LANGUAGE":
    					$this->channel_language .= $data;
    				break;
    				case "LASTBUILDDATE":
    					$this->channel_lastbuilddate .= $data;
    				break;
    				case "COPYRIGHT":
    					$this->channel_copyright .= $data;
    				break;
    				case "MANAGINGEDITOR":
    					$this->channel_managingeditor .= $data;
    				break;
    			}
    		}
    	   elseif($this->flag == 2) {
               switch($this->tag) {
    				case "TITLE":
    					$this->title .= $data;
    				break;
    				case "DESCRIPTION":
    					$this->description .= $data;
    				break;
    				case "LINK":
    					$this->link .= $data;
    				break;
    				case "PUBDATE":
    					$this->pubdate .= $data;
    				break;
               }
    	   }
    	}
    }
    
    $xp = xml_parser_create();
    $rss_parser = new rss_parser();
    xml_set_object($xp,$rss_parser);
    
    xml_parser_set_option($xp, XML_OPTION_SKIP_WHITE, TRUE);
    xml_set_element_handler($xp, "startElement", "endElement");
    xml_set_character_data_handler($xp, "characterData");
    $rss_parser->set_max($max_headlines);
    
    	if($fp = @fopen($rss_file,"r")) {
    		fflush($fp);
    		
    		while($data = fread($fp, 4096)) {
    			if(!(xml_parse($xp, trim($data), feof($fp))))
    				die(sprintf("%s <b>%s</b>",PARSE, $rss_file));
    		}
    		fclose($fp);
    		xml_parser_free($xp);
    	}
    	else 	
    	die(sprintf("%s <b>%s</b>",OPEN,$rss_file));
    ?>
    MultiMaak - Voor persoonlijke cadeau's en relatiegeschenken!

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics