<?php

//$urlrss="http://images.apple.com/main/rss/hotnews/hotnews.rss";
//$urlrss="http://idgnow.uol.com.br/internet/RSS2/index.rss";
//$urlrss="http://www.idgnow.com.br/RSS2/index.rss";
//$urlrss="http://www.idgnow.com.br/computacao_pessoal/RSS2/index.rss";
//$urlrss="http://www.idgnow.com.br/computacao_corporativa/RSS2/index.rss";
$urlrss="http://www.idgnow.com.br/telecom/RSS2";

if (!($fp = fopen($urlrss, "r"))) {
   die("N�o foi possivel abrir a entrada XML.");
}
while ($data = fread($fp, 4096)) {
		$xml_parse.=$data;
}
$utf8_filexml=utf8_decode($xml_parse);
verifica($utf8_filexml);
//verifica($xml_parse);
?>

<?php
$somaitem=0;
function verifica($xml_parser){
$e=1;//estado inicial.
$tam=0; 
$tamanho=strlen($xml_parser);//pega o tamanho da string
for($i=0;$i<=$tamanho;$i++){
 $aux=substr($xml_parser,$i,1);
	switch($e){
		case(1):
			if($aux=='<'){$e=2;$tag="";}else{$e=1;}
			break;
		case(2):
             if(ereg("^[a-zA-Z]" , $aux)){$tag.=$aux;$e=2;}
             if($aux==" "){$e=2;}
             if($aux=="/"){$e=3;$tag=$aux;}
			 if($aux==">"){
				if($tag=="title"){$e=6;}
				if($tag=="link"){$e=7;}
				if($tag=="description"){$e=8;}
				if($tag=="language"){$e=9;}
				if($tag=="copyright"){$e=10;}
				if($tag=="webMaster"){$e=11;}
				if($tag=="pubDate"){$e=12;}
				if($tag=="lastBuildDate"){$e=13;}
				if($tag=="category"){$e=14;}				
				if($tag=="generator"){$e=15;}
				if($tag=="docs"){$e=16;}
				if($tag=="item"){$e=1;$somaitem++;}
				$tag="";
				}				
		break;
		case(3):
            if(ereg("^[a-zA-Z]" , $aux)){$tag.=$aux;$e=3;}
			if($tag=="/item"){$e=1;$tag="";}
		break;
		case(4):	
			if($aux=="/"){$e=5;$tag.=$aux;}
		break;
		case(5):
			if(ereg("^[a-zA-Z]" , $aux)){$tag.=$aux;$e=5;}
			if($aux==">"){
				if($tag=="/title"){$e=1;}
				if($tag=="/link"){$e=1;}
				if($tag=="/description"){$e=1;}
				if($tag=="/language"){$e=1;}
				if($tag=="/copyright"){$e=1;}
				if($tag=="/webMaster"){$e=1;}
				if($tag=="/pubDate"){$e=1;}
				if($tag=="/lastBuildDate"){$e=1;}
				if($tag=="/category"){$e=1;}
				if($tag=="/generator"){$e=1;}
				if($tag=="/docs"){$e=1;}
				}			
		break;
		case(6): 
			if(ereg("(^([a-zA-Z\_0-9\:;|?/.�!������Ǻ���������������������`��������{}��(),#@&-]*))$" , $aux)){$title[$somaitem].=$aux;$e=6;}
			if(($aux=="[")||($aux=="]")){$title[$somaitem].=$aux;$e=6;}
			if($aux==" "){$title[$somaitem].=$aux;$e=6;}
			if($aux=="<"){$e=4;$tag=="";}
		break;
		case(7):	
			if(ereg("(^([a-zA-Z\_0-9\:;|/.,#?!@&-]*))$" , $aux)){$link[$somaitem].=$aux;$e=7;}
			if($aux==" "){$link[$somaitem].=$aux;$e=7;}
			if($aux=="<"){$e=4;$tag=="";}
		break;
		case(8):	
			if(ereg("(^([a-zA-Z\_0-9\:;|?/.�!�����������������������������������ô`{}��(),#@&-]*))$" , $aux)){$description[$somaitem].=$aux;$e=8;}
			if($aux==" "){$description[$somaitem].=$aux;$e=8;}
			if($aux=="<"){$e=4;$tag=="";}
		break;		
		case(9):	
			if(ereg("(^([a-zA-Z\_0-9\:/.,#@&-]*))$" , $aux)){$language.=$aux;$e=9;}
			if($aux==" "){$language.=$aux;$e=9;}
			if($aux=="<"){$e=4;$tag=="";}
		break;		
		case(10):	
			if(ereg("(^([a-zA-Z\_0-9\:;|?/.�!������Ǻ���������������������������ô`{}��(),#@&-]*))$" , $aux)){$copyright.=$aux;$e=10;}
			if($aux==" "){$copyright.=$aux;$e=10;}
			if($aux=="<"){$e=4;$tag=="";}
		break;		
		case(11):	
			if(ereg("(^([a-zA-Z\_0-9\:/.,#@&-]*))$" , $aux)){$webmaster.=$aux;$e=11;}
			if($aux==" "){$webmaster.=$aux;$e=11;}
			if($aux=="<"){$e=4;$tag=="";}
		break;		
		case(12):	
			if(ereg("(^([a-zA-Z\_0-9\:/.,#@&-]*))$" , $aux)){$pubdate[$somaitem].=$aux;$e=12;}
			if($aux==" "){$pubdate[$somaitem].=$aux;$e=12;}
			if($aux=="<"){$e=4;$tag=="";}
		break;		
		case(13):	
			if(ereg("(^([a-zA-Z\_0-9\:/.,#@&-]*))$" , $aux)){$lastbuilddate[$somaitem].=$aux;$e=13;}
			if($aux==" "){$lastbuilddate[$somaitem].=$aux;$e=13;}
			if($aux=="<"){$e=4;$tag=="";}
		break;		
		case(14):	
			if(ereg("(^([a-zA-Z\_0-9\:/.,#@&-]*))$" , $aux)){$category.=$aux;$e=14;}
			if($aux==" "){$category.=$aux;$e=14;}
			if($aux=="<"){$e=4;$tag=="";}
		break;		
		case(15):	
			if(ereg("(^([a-zA-Z\_0-9\:/.,#@&-]*))$" , $aux)){$generator.=$aux;$e=15;}
			if($aux==" "){$generator.=$aux;$e=15;}
			if($aux=="<"){$e=4;$tag=="";}
		break;		
		case(16):	
			if(ereg("(^([a-zA-Z\_0-9\:/.,#@&-]*))$" , $aux)){$docs.=$aux;$e=16;}
			if($aux==" "){$docs.=$aux;$e=16;}
			if($aux=="<"){$e=4;$tag=="";}
		break;		
		default:null;break;
		}//fecha switch 
}//fecha laco while...

//if($somaitem>10){$somaitem=10;}//quebra para 10 caso > 10
for($i=1;$i<=$somaitem;$i++){
echo "&nbsp;<a href='$link[$i]' target='_blank'>".html_entity_decode($title[$i])."</a><br>".$pubdate[$i]."<br>";
}
echo "<br><center><a href='mailto:$webmaster'>".$copyright."</a></center>";
}//fecha function verifica


?>