Cooler_

get xml

Apr 13th, 2012
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.51 KB | None | 0 0
  1. <?php
  2. /*
  3. para tirar bug do fopen() de permissões...
  4.  vide http://mattiasgeniar.be/2008/11/11/url-file-access-is-disabled-in-the-server-configuration/
  5.  
  6. assim usar PegaRSS() sem problemas
  7. esta função esta no tema campanhas
  8. no arquico functions.php
  9.  
  10. implementação por Cooler_
  11. */
  12. ini_set('allow_url_fopen', 'on');
  13.  
  14. /*
  15.    primeiro argumento "fonte do xml nome local onde veio",
  16.    segundo quantidade de últimas noticias
  17.    terceiro endereço do XML de RSS
  18. */
  19. function PegaRSS($fonte,$quantidade,$feed_url)
  20. {
  21. // pegamos o XML
  22.  $conteudo = file_get_contents($feed_url);
  23. // pegamos as tags 
  24.  $gamma = new SimpleXmlElement($conteudo);
  25.  $quantidade--;
  26.    
  27.  echo "<ul>";  
  28. // pegamos linha por linha das tags
  29.   foreach($gamma->channel->item as $entrada)
  30.   {
  31. // máximo de palavras por descrição
  32.    $PalavrasMax=40;
  33.    $descricao=" ";
  34. // tratar o description
  35.    if($entrada->description)
  36.    {
  37.     $string=strip_tags($entrada->description);
  38.     $palavrasLista = explode(" ", $string);
  39. //se tiver mais palavras que o limite add "..."
  40.     foreach($palavrasLista as $palavra )
  41.     {
  42.      if(!$PalavrasMax)
  43.      {
  44.       $descricao.="$palavra...";
  45.       break;
  46.      }
  47.      $descricao.="$palavra ";
  48.      $PalavrasMax--;
  49.     }
  50.    }
  51.  
  52.    echo "
  53.     <li>
  54.       <a href='$entrada->link' title='$fonte'><b>".$entrada->title ."</b><br>".$descricao."</a>
  55.     </li><br>";
  56.    if(!$quantidade)
  57.     break;
  58.    $quantidade--;
  59.   }
  60.  echo "</ul>";
  61. // usamos o echo para ir mostrando a saida...
  62. }
  63.  
  64.  
  65.  
  66. ?>
Advertisement
Add Comment
Please, Sign In to add comment