Artigos

Categorias

Assine o feed Assine o feed

Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina
Ter 08 Set 2009

Como colocar uma área de clipping em seu site

por Fabio Gouveia às 15:20:09

Bom pessoal, para recomeçar a postar artigos, escolhi um tutorial bem simples. Colocar uma àrea de clipping no site é uma maneira de manter seu site sempre atualizado com notícias de um um mais sites.

O clipping é muito tranquilo de ser implementado. Aqui mostraremos como implementar essa feature com PHP.

Primeiro criamos a função xml_simple_clipping

<?
function xml_simple_clipping($urlrss,$tamanho, $urlhost){
   /** Primeiro devemos abrir o site que contm o XML com as notícias para depois fazermos o
   * PARSE das notícias.
   */

   /* caso o site não exista ou não seja possível ler o arquivo XML a função
   * fopen irá retornar FALSE e interrompemos a função
   */
   if (!($fp = fopen($urlrss, "r"))) {
      echo "<div>Erro ao tentar ler o RSS do site $urlhost</div>\r\n";
      echo "<h5>Fonte: <a href='http://$urlhost' target='_blank'>$urlhost</a></h5>\r\n";
      return;
   }

   /** Após abrir o aquivo vamos ler e jogar as suas informações no arquivo $xml_parse.
   */
   while ($data = fread($fp, 4096)){
      $xml_parse.=$data;
   }

   /** Agora utilizamos a função simplexml_load_string() para fazer o parse do aquivo
   * XML para um objeto
   */
   $oXML = simplexml_load_string($xml_parse);

   /** Com o objeto formado, podemos agora acessar todas as informações disponíveis
   * no RSS que você deseja adicionar ao seu site.
   * Toda a informação estar no objeto $oXML->channel[0].
   * Vamos ver agora algumas informaçães que poderemos obter.
   */
   $br = "<br />"; // quebra de linha no HMTL
   echo "<b> Informações do site de RSS</b>". $br;

   // Informações sobre o Site de RSS
   echo $oXML->channel[0]->title . $br; // Ttulo do site
   echo $oXML->channel[0]->description . $br; // Descrio do site
   echo $oXML->channel[0]->link . $br; //Link para o site
   echo $oXML->channel[0]->lastBuildDate . $br; // Data da última publicação no site

   /* As notícias econtram-se no objeto $oXML->channel[0]->item[]
   * Fazemos então um loop para leitura das notícias.
   * Lembrando que o parâmetro $i é a quantidade de notícias que
   * desejo exibir na minha seção de clipping
   */
   echo $br.$br."<b><u>Notícias do RSS</b></u>". $br.$br;
   for($i=0;$i<$tamanho;$i++){
      $oNews = $oXML->channel[0]->item[$i]; // apenas para encurtar no nome da variável

      if($oNews->title[0] != '') { // testamos se existe a notícia
         $nTitulo = $oNews->title[0]; // título do RSS
         $nDescription = $oNews->description[0]; // descrição do RSS
         $nLink = $oNews->link[0]; // Link para o RSS
         $nPubDate = $oNews->pubDate[0]; // Data de publicação do RSS
         $nAutor = $oNews->author[0]; // Autor do RSS

         echo "<div>»  ".$nPubDate." — <a href='$nLink' target='_blank'>".htmlspecialchars($nTitulo)."</a></div>\r\n";
      } else { break; } // caso tenha menos notícias no site do que eu desejo exibir.
   }

   echo "<h5>Fonte: <a href='http://$urlhost' target='_blank'>$urlhost</a></h5>\r\n";
}//fecha function
?>

Após criada a função, inserimos no html a chamada para a função. Desta maneira podemos criar um RSS com múltiplas fontes. Como podemos confirir no código a seguir:

<?
// Primeira fonte de RSS
$urlRSS="http://www.gouveia.eng.br/feed.php";
$urlHost = "www.gouveia.eng.br";
xml_simple_clipping($urlRSS, 4, $urlHost);
/*
// Segunda fonte de RSS
$urlrss="http://ext02.tst.jus.br/pls/no01/NO_NOTICIASNOVO.rss?p_cod_area_noticia=ASCS";
$urlhost = "www.tst.gov.br";
xml_simple_clipping($urlrss,4,$urlhost);
*/
?>

Como podem notar, a segunda fonte está comentada, mas é apenas para mostrar que é possível com este script ter mais de uma fonte para o clipping de seu site.

Bom, é isso pessoal, espero que aproveitem para deixar seus sites com mais conteúdo.

Tags relacionadas php

Gostaria de adicionar aos favoritos?

   del.icio.us  digg  reddit  netscape  furl  technorati  mister wong 
Fim artigo
"Como colocar uma área de clipping em seu site" tem 1 comentários

oi:

25 nov 2010 às 12:02:18

aeuhaueh'


Nome: (requerido)
Email: (requerido, nunca é exibido)
Site:  
Comentário:
  captcha Esta imagem é apenas para evitar que o blog receba comentários de "robôs" spammers. Agradeço a compreensão.
Não consegue ler? Clique aqui
Digite o código:
 
 
Copyright © 2012 — Engº Fabio Frech Gouveia. site v1
Powered by PHP Using IE7 JS CSS2:auto Using TableLess Using Prototype JS Framework Valid XHTML 1.0 Valid CSS