Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

zamoty

Sistema de Notícias PHP + XML

Recommended Posts

Gostaria de saber como eu faço para disponibilizar em uma página php um sistema de notícias, com notícias RSS de um outro site.

 

Tem como??

 

Alguém sabe onde eu consigo achar material para ler sobre como desenvolver esse tipo de sisteminha??

 

Tem como eu gravar essas notícias em RSS de outros sites em um banco mysql automaticamente?

 

Muito obrigado!

 

Tomaz

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aí rapaz... beleza...

 

Ó, tenho um feed que lê as notícias do UOL... se ajuda... dá uma olhada aí:

<?phpset_time_limit(0);$file = "http://rss.noticias.uol.com.br/ultnot/index.xml";$rss_channel = array();$currently_writing = "";$main = "";$item_counter = 0;function startElement($parser, $name, $attrs) {	global $rss_channel, $currently_writing, $main;	switch($name) {	 case "RSS":	 case "RDF:RDF":	 case "ITEMS":	  $currently_writing = "";	  break;	 case "CHANNEL":	  $main = "CHANNEL";	  break;	 case "IMAGE":	  $main = "IMAGE";	  $rss_channel["IMAGE"] = array();	  break;	 case "ITEM":	  $main = "ITEMS";	  break;	 default:	  $currently_writing = $name;	  break;	}}function endElement($parser, $name) {	global $rss_channel, $currently_writing, $item_counter;	$currently_writing = "";	if ($name == "ITEM") {	 $item_counter++;	}}function characterData($parser, $data) {global $rss_channel, $currently_writing, $main, $item_counter;if ($currently_writing != "") {  switch($main) {   case "CHANNEL":	if (isset($rss_channel[$currently_writing])) {	 $rss_channel[$currently_writing] .= $data;	} else {	 $rss_channel[$currently_writing] = $data;	}	break;   case "IMAGE":	if (isset($rss_channel[$main][$currently_writing])) {	 $rss_channel[$main][$currently_writing] .= $data;	} else {	 $rss_channel[$main][$currently_writing] = $data;	}	break;   case "ITEMS":	if (isset($rss_channel[$main][$item_counter][$currently_writing])) {	 $rss_channel[$main][$item_counter][$currently_writing] .= $data;	} else {	 $rss_channel[$main][$item_counter][$currently_writing] = $data;	}	break;  }}}$xml_parser = xml_parser_create();xml_set_element_handler($xml_parser, "startElement", "endElement");xml_set_character_data_handler($xml_parser, "characterData");if (!($fp = fopen($file, "r"))) {die("could not open XML input");}while ($data = fread($fp, 4096)) {if (!xml_parse($xml_parser, $data, feof($fp))) {  die(sprintf("XML error: %s at line %d",	 xml_error_string(xml_get_error_code($xml_parser)),	 xml_get_current_line_number($xml_parser)));}}xml_parser_free($xml_parser);// output HTML	 $title = ("<div class=\"channelname\">" . $rss_channel["TITLE"] . "</div>");if (isset($rss_channel["ITEMS"])) {if (count($rss_channel["ITEMS"]) > 0) {  for($i = 0;$i < count($rss_channel["ITEMS"]);$i++) {   if (isset($rss_channel["ITEMS"][$i]["LINK"])) {	 $uol1 = ("\n<div class=\"itemtitle\"><a href=\"" . $rss_channel["ITEMS"][0]["LINK"] . "\"target=\"_blank\">" . $rss_channel["ITEMS"][0]["TITLE"] . "</a></div>");	 $uol2 = ("\n<div class=\"itemtitle\"><a href=\"" . $rss_channel["ITEMS"][1]["LINK"] . "\"target=\"_blank\">" . $rss_channel["ITEMS"][1]["TITLE"] . "</a></div>");  	 $uol3 = ("\n<div class=\"itemtitle\"><a href=\"" . $rss_channel["ITEMS"][2]["LINK"] . "\"target=\"_blank\">" . $rss_channel["ITEMS"][2]["TITLE"] . "</a></div>");	 $uol4 = ("\n<div class=\"itemtitle\"><a href=\"" . $rss_channel["ITEMS"][3]["LINK"] . "\"target=\"_blank\">" . $rss_channel["ITEMS"][3]["TITLE"] . "</a></div>");	 $uol5 = ("\n<div class=\"itemtitle\"><a href=\"" . $rss_channel["ITEMS"][4]["LINK"] . "\"target=\"_blank\">" . $rss_channel["ITEMS"][4]["TITLE"] . "</a></div>");	 $uol6 = ("\n<div class=\"itemtitle\"><a href=\"" . $rss_channel["ITEMS"][5]["LINK"] . "\"target=\"_blank\">" . $rss_channel["ITEMS"][5]["TITLE"] . "</a></div>");	 $uol7 = ("\n<div class=\"itemtitle\"><a href=\"" . $rss_channel["ITEMS"][6]["LINK"] . "\"target=\"_blank\">" . $rss_channel["ITEMS"][6]["TITLE"] . "</a></div>");	 $uol8 = ("\n<div class=\"itemtitle\"><a href=\"" . $rss_channel["ITEMS"][7]["LINK"] . "\"target=\"_blank\">" . $rss_channel["ITEMS"][7]["TITLE"] . "</a></div>");	 $uol9 = ("\n<div class=\"itemtitle\"><a href=\"" . $rss_channel["ITEMS"][8]["LINK"] . "\"target=\"_blank\">" . $rss_channel["ITEMS"][8]["TITLE"] . "</a></div>");	 $uol10 = ("\n<div class=\"itemtitle\"><a href=\"" . $rss_channel["ITEMS"][9]["LINK"] . "\"target=\"_blank\">" . $rss_channel["ITEMS"][9]["TITLE"] . "</a></div>");	    } else {   print ("\n<div class=\"itemtitle\">" . $rss_channel["ITEMS"][$i]["TITLE"] . "</div>");   }	 }} else {  print ("<b>Não há artigos publicados no UOL.</b>");}}?>

Salve este arquivo como arquivo.php, e depois você dá um include na página q você ker inserir, após o inlcude, você chama as variáveis $uol1, $uol2, etc...

 

Flw, espero ter ajudado!

 

Bração!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.