RSS – Inserindo notícias em seu site

Publicado: outubro 14, 2008 em PHP, XML
Tags:, , , ,

ESSE POST FOI ATUALIZADO – CLIQUE AQUI PARA VER A NOVA VERSÃO (MAIS SIMPLES)

 Pessoal tenho visto pela web muitas formas de inserir notícias em uma página utilizando RSS/XML, muitas dessas formas funcionam bem em qualquer situação e outras não. Resolvi postar aqui uma das que funcianam bem, claro, além de ser de simples alteração.

O arquivo abaixo retorna apenas os links das notícias, então o que vocês precisam fazer nada mais é que mudar o valor da var $feed inserindo a URL que desejar, a váriavel $qtdelinks informa a quantidade de links de notícias que retornarão ao fim das instruções, você pode mudar seu valor também. 

Escolha um local em seu site e use include(‘feeds.php’);  para incluir os links no site!

Salve-o como feeds.php

<?php
# Iniciando as variaveis

# Url do RSS / Feed
$feed = ‘http://feeds.folha.uol.com.br/folha/mundo/rss091.xml;
# Quantidade de links que serão exibidos
$qtdelinks=5;
# Variavel que aramazena os links
$html = ”;
# Variavel utilizada no laço x quantidade de links (set)
$i=0;
# Variavel que recebe os dados do url
$xml = ”;
# Abrindo o arquivo remoto
$fp = fopen($feed, ‘r‘);
while (!feof($fp))
{
    # Armazenando o conteudo do arquivo na variavel XML
    $xml .= fread($fp, 128);
}
# Fechando o arquivo
fclose($fp);

# Função que captura o conteudo das Tags
function untag2($string, $tag)
{
    $tmp = array();
    # Informando as tags passadas no parametro para obter o conteudo
    $preg = “|<$tag>(.*?)</$tag>|s”;
    # Obtendo o conteudo das tags passadas no param e adicionando em tags
    preg_match_all($preg, $string, $tags);
    # Para cada tag contida em no array tags
    foreach ($tags[1] as $tmptag)
    {
       # Adicionando no array tmp o conteudo das tags
        $tmp[] = $tmptag;
    }
    # Retornando um array com conteudo de cada tag 
    return $tmp;
}

# Retornando  o conteudo de todas as tags item  do RSS / XML
$items = untag2($xml, ‘item‘);

# Retornando cada tag item do array items
foreach ($items as $item)
{
   if ($i < $qtdelinks)
   {
      # Recuperando o conteudo da tag title
      $title = untag2($item, ‘title‘);
      # Recuperando o conteudo da tag href / link
      $link  = untag2($item, ‘link‘);
      # Armazenando o link na var html / utf8_decode trata os acentos no titulo
      $html .= ‘<a href=”‘.$link[0].‘” target=”_blank”>’.utf8_decode($title[0]).”</a><br>\n“;
      $i++;
   } 
}
# Exibindo o HTML gerado
echo $html;
?>

Utilize o CSS do seu site para formatar os links, não precisa alterar nada na variável($html) que concatena os links. Se preciso adicione apenas o atributo Class (se seu css já não estiver tratando todas as tags A href).

É isso aí, apenas.

O exemplo funcionando aqui.   Download do exemplo funcionando aqui.

Obrigado,

Rafael Clares

Comentários
  1. Heloisa disse:

    Ótimo tutorial, simples e preciso. Porém, ainda tenho uma dúvida: quando clico na notícia, não consigo acessar a página com a notícia. Em vez disso, o navegador tenta abrir a página como se ela estivesse hospedada no meu próprio site. Tem como resolver isso?

  2. Rafael Clares disse:

    Oi Heloisa, poderia colocar o código aqui para vermos juntos. Importante também ver de onde você está recebendo as noticias. Aguardo seu comentário com o código. Até logo,

  3. André disse:

    Se atraplhei pedindo o e-mail me desculpe so achei que seria mais simples do que ficar trocando comentario pelo blog.

    Bom, gostaria de saber passo a passo como implementar isso e usar o serviço de php, nao entendo muito sobre esse tipo de linguagem.

    Um passo-a-passo seria bem bacana ainda mais para um leigo.
    Obrigado

  4. Rafael Clares disse:

    Olá André, obrigado pelo comentário. Amigo a intenção do blog é justamente trocar comentários. Imagine 50 pessoas com a mesma dúvida que você e eu tendo que escrever 50 emails, viu só, assim sua dúvida irá ajudar outras pessoas. Mas tem uma coisa, não tem como ficar mais explicado que isso o exemplo se pensarmos em leigos como você mencionou.
    Uma dica que dou à todos é: façam o upload do arquivo para seu site e testem on-line, testar localmente pode ser bem demorado ou ainda travar, então quando estiver desenvolvendo comente a linha que inicia a leitura do RSS (se for um include por ex). O exemplo acima está funcionando como podem ver no link, mas se eu testar localmente vai demorar ou travar.
    Obrigado

  5. Messias Anjos disse:

    Muito legal este codigo, vou implementar nos meus sites

  6. carlos disse:

    Olá Rafael! Gostei do post, más eu queria algo mais.
    Veja bem, eu quero colocar esse feed no meu site mas não quero que abra a página inteira do endereço colocado, e sim que a noticia abra em uma popup.será que atraves de algum script isso é possível?

  7. Luiz Felipe disse:

    Olá, em primeiro ligar quero agradecer pela ajuda que seu blog traz a nós, programadores.
    Criei meu site 100%, desde o layout e logotipo até todo o código-fonte usando PHP, gostaria que desse uma olhada em meu site e desse sua opinião, ele é muito recente e eu ainda estou tentando melhorá-lo, existem algumas ferramentas no painel de administração que eu criei que ainda estão em desenvolvimento, mas todo o site é dinâmico e utiliza banco de dados MySQL e seu conteúdo é adicionado pelo próprio navegador.
    Agradeço pela atenção e parabéns pelo blog e sua competência.

    http://www.TheNets.org :: Os Melhores Programas

    • Rafael Clares disse:

      Olá Luiz, obrigado pelo comentário. Vi seu site tá muito bom, achei bem profissional e com conteúdo bem distribuído, bacana mesmo cara parabéns.
      obs: um dia eu chego lá!!!
      abraços

      • Luiz Felipe disse:

        Nossa cara, a quanto tempo.
        Outra vez volto a precisar deste seu código, de novo para o meu site.
        Faz mais de 1 ano que eu sigo o seu site, que me auxilia bastante.

        Se quiser, add meu MSN aew “contato@thenets.org”

        Flws cara, abraços!

  8. publiquei este artigo no site de um cliente e os acentos não aparecem, o que tenho que adicionar ou modificar. o site esta hospedado em um servidor linux do terra. grato.

    • Rafael Clares disse:

      Olá Weliton, você precisa mudar o encoding da sua página que está lendo o XML, você pode adicionar inicio do seu arquivo PHP o que segue:
      @header(‘Content-Type: text/html; charset=iso-8859-1′);
      Dentro das tags PHP, claro. Outra tentativa que pode fazer caso essa não funcione é retirar o trecho do código que converte o conteudo com utf8_decode
      que está na 5 linha de baixo para cima no arquivo feeds.php, retire o utf8_decode($title[0]) e deixe somente o $title[0], mas isso depois de testar com o cabeçalho PHP que eu disse acima, somente se ele não funcionar. Qualquer coisa me diga..

  9. Certo Rafael, mas onde eu tenho que inserir @header(’Content-Type: text/html; charset=iso-8859-1′); pois a segunda opção tb não deu certo, ficarei grato se conseguir colocar no site sem esse problema. o site é http://www.vecaadvogados.com obrigado!

  10. weliton disse:

    Obrigado Rafael esta fuincionando…muito obrigado.

  11. Wanderson disse:

    Olá Rafael parabéns pelo trabalho eu estou com um probleminha aqui segue os erros…

    Warning: feof(): supplied argument is not a valid stream resource in /home/eduardodafo/public_html/homo/wp-content/themes/probama/feeds.php on line 18

    Warning: fread(): supplied argument is not a valid stream resource in /home/eduardodafo/public_html/homo/wp-content/themes/probama/feeds.php on line 21

    • Rafael Clares disse:

      Olá Wanderson, obrigado pelo comentário!
      Olha só, para eu te ajudar preciso saber o que tem na linha que aponta o erro…
      Você modificou algo no código, certo ? Pode colocar o trecho do código que está dando erro?
      até logo,

  12. Wanderson disse:

    Rafael o seguite código estava comentado “ini_set(‘allow_url_fopen’, true);” quando eu retirei o comentário funcionou tranquilo. Outra coisa sem querer abusar muito, mas você sabe como eu faço pra exibir a data e hora da notícia?

    • Rafael Clares disse:

      Wanderson, é fácil, basta você adicionar a tag que possui tal informação no foreach, nesse trecho do código por ex:
      $link = untag2($item, ‘link’);
      estamos atribuindo link da notícia à variável link, certo ?
      Podemos adicionar qualquer TAG contida no XML/RSS, por exemplo…
      No RSS do jornal Estadão a data/hora está na TAG “pubDate”, logo, temos:
      $data = untag2($item, ‘pubDate’); // recuperada data da tag pubDate
      $html .= “Data de publicação: $data[0]“;

      Espero ter ajudado ou dado uma direção ao menos.
      abraços,

  13. Wanderson disse:

    Rafael,

    Desculpe fica te enchendo, mas o que eu posso te errado, segue o código abaixo, porém na index só retorna “Array”…

    # Retornando cada tag item do array items
    foreach ($items as $item) {
    if ($i < $qtdelinks)
    {
    # Recuperando o conteudo da tag title
    $title = untag2($item, ‘title’);
    # Recuperando o conteudo da tag href / link
    $link = untag2($item, ‘link’);
    # recuperada data da tag pubDate
    $data = untag2($item, ‘pubDate’);
    # Armazenando o link na var html
    $html .= ‘» ‘.$title[0].”\n”. $data;
    $i++;
    }
    }

  14. Wanderson disse:

    Karaca, que lerdo eu sou… Valeu….

  15. Allan disse:

    olha o erro que ta dando o seu script no meu site, me ajuda a resolver isto.. obrigado pela atenção

  16. Victor Lelis disse:

    Otima funcão! Funcionou legal aqui!
    Obrigado!

  17. Lucas disse:

    Ae velho gostei do teu php cara!Mas olha só no meu localhost abre legal…mas no servidor não,ja tinha tentado até outro escript rss/xml e aconteceu a mesma coisa.
    O servidor é da via-rs.net,o problema é la isso é certo!
    tem alguma idea do que pósa ser?

    agradeço se puder me ajudar

    • Rafael Clares disse:

      Olá Lucas, o problema pode estar relacionado as permissões ao uso da função fopen, certifique-se com seu host quanto a permissão de uso do comando, isso é estranho mas já fiz uso de um host que não me deixava usar a função, o motivo não sei. Pow mas se os caras não lhe derem uma solução aproveita e muda para meu host ha-ha.

      abraços,

  18. Lucas disse:

    Eles não disponibilizam função fopen do php!!
    Vo ter que usar a função curl!!!

    agradeço a atenção!!

  19. Olá! disse:

    Gostaria de saber se a partir desse código é possível filtrar posts por TAGS específicas. Acrescentar algo nesse arquivos feeds.php que fizesse aparecer apenas os posts do blog que interessasse.

    • Rafael Clares disse:

      Olá Priscila,
      tem sim, na verdade você pode colocar apenas os canaisl RSS que lhe interessem.
      Na váriável $feed do código está contido o endereço do jornal A Folha mas você pode
      trocar esse endereço pelo endereço do canal de um blog.

      Quaisquer dúvidas, fique à vontade para perguntar.

      • Priscilla disse:

        Sim eu sei que é possível setar canais, mas gostaria de dentro de um RSS de um blog eu pudesse filtrar algumas TAGS somente. Por exemplo, gostaria que de todos os post do site X, apenas os que se referem a “gripe suína” aparecessem nessa lista que estou publicando em meu site. É possível?

      • Rafael Clares disse:

        Dá sim Priscila, mas assim…. você vai precisar fazer uma busca no titulo da notícia, então acredito que usando expressões regulares para fazer essa busca na tag title você consiga o que quer, claro que não será 100% por que pode ser que hava uma matéria sobre tal assunto mas que o título não faça referência direta, mas acredito que conseguirá 99% das notícias que procura.
        Dê uma buscada no google sobre Expressões regulares (preg_match_all) no PHP e aplique na linha
        $title = untag2($item, ‘title‘);

        Boa sorte!

      • Priscilla disse:

        Perfeito!! Muito obrigada Rafael! =)

  20. Pedro disse:

    Tem como diminuir o espaçamento entre as notícias? Coloquei em meu site o teu código mas tão muito longe as notícias, dá uma olhada ae, http://www.portalpitimbu.com.br desde já agraceço.

  21. Estevão disse:

    Ola Rafael, bem legal este seu post, mas como citaram acima, meu servidor bloqueia a função Fopen, dizem q fica vulnerave a ataques, mas tem como usar outra (Curl), vc conhece ela? poderia disponibilizar ela para mim e para a galera q sofre com isso. abraço

    • Rafael Clares disse:

      Estevão,

      $url = “blablablabla.xml”;

      if (!defined(“ch”))
      {
      function setupch()
      {
      $ch = curl_init();
      $c = curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      return($ch);
      }
      define(“ch”, setupch());
      function curl_get_contents($url)
      {
      $c = curl_setopt(ch, CURLOPT_URL, $url);
      return(curl_exec(ch));
      }
      }

      • Estevao disse:

        Ola muito obrigado pela dica, graças a pessoas como vc q a net vale a pena. mas estou com uma duvida, preciso add mais algum codigo a este ai acima? ou posso só copiar em um arq. novo e fazer um include? fiz isso e n’ao apareceu nada na area da noticia. grato pela ajuda.!!

      • Rafael Clares disse:

        Estevão, pode fazer include sim!

      • Estevão disse:

        Ola Rafael muito obrigado pelo codigo, me ajudou bastante, mas tem um problema q não aparece nada qdo eu coloco este codigo, ele precisa ter mais algum codigo para funcionar ou eu posso criar um arq. novo com este q vc me passou e chama-lo com um include? se puder mandar ai… estou pegar os rss de informatica do terra. obrigado pela atenção!!

  22. Marcia disse:

    Olá!fiz um site em html e gostaria de saber se há alguma maneira de colocar esta função em meu site?

  23. moises disse:

    Baixei os arquivos e funcionou perfeitamente.
    mas quando coloquei no conteudo de um site para testar, apareceram as tags html.
    O que eu faço?
    apareceu assim:

    Pola prende homem que zombava das autoridades pelo Facebook
    Sony adia lan硭ento do jogo Gran Turismo 5
    EUA exigem explica絥s da China por ataque contra o Google
    Google amea硠encerrar servi篳 na China ap󳠡taques virtuais
    Pirataria de software no Brasil migra do CD para a web

  24. Tarcisio disse:

    BOM DIA GALERA,, Peguei o codigo postado do RSS e nao funcionou no meu site.. Segue o codigo abaixo:

    <?php
    # Iniciando as variaveis

    # Url do RSS / Feed
    $feed = 'http://rss.tecnologia.uol.com.br/ultnot/index.xml&#039;;
    # Quantidade de links que serão exibidos
    $qtdelinks=5;
    # Variavel que aramazena os links
    $html = '';
    # Variavel uzada no laco x quantidade de links (set)
    $i=0;
    # Variavel que recebe os dados do url
    $xml = '';
    //ini_set('allow_url_fopen', true);

    # Abrindo o arquivo remoto
    $fp = fopen($feed, 'r');
    while (!feof($fp))
    {
    # Armazenando o conteudo do arquivo na variavel XML
    $xml .= fread($fp, 128);
    }
    # Fechando o arquivo
    fclose($fp);

    # Capturando o conteudo das Tags
    function untag2($string, $tag)
    {
    $tmpval = array();
    # Informando as tags passadas no parametro para obter o conteudo
    $preg = "|(.*?)|s”;
    # Obtendo o conteudo das tags passadas no parametro e adicionando na var tags
    preg_match_all($preg, $string, $tags);
    # Para cada tag contida em no array tags
    foreach ($tags[1] as $tmpcont)
    {
    # Adicionando no array tmpval o conteudo das tags
    $tmpval[] = $tmpcont;
    }
    # Retornando um array
    return $tmpval;
    }

    # Retornando o conteudo de todas as tags item do RSS / XML
    $items = untag2($xml, ‘item’);

    # Retornando cada tag item do array items
    foreach ($items as $item) {
    if ($i < $qtdelinks)
    {
    # Recuperando o conteudo da tag title
    $title = untag2($item, 'title');
    # Recuperando o conteudo da tag href / link
    $link = untag2($item, 'link');
    # Armazenando o link na var html
    $html .= '‘.utf8_decode($title[0]).”\n”;
    $i++;
    }
    }
    # Exibindo o HTML gerado
    echo $html;
    ?>

    Ja tentei colocar varios tipos de URL, e nao funciona… POR FAVOR ME AJUDEM!!!!!

    AGUARDO retorno o mais breve possivel

    • Rafael Clares disse:

      Tarciso, como vai?
      cara, na verdade o código nós já temos, não é ?
      O interassante seria você informar qual mensagem retorna ao tentar utiliza-lo.
      Abraços

      • Tarcisio disse:

        Boa tarde Rafael. O problema é o seguinte, coloco o mesmo código no meu Servidor, e o mesmo nao mostra as noticias do Rss, mais mandei o código para um amigo meu, e o mesmo colocou o código no serve dele e funcionou normal.. O que poderia ser ? Qual o problema que está acontecendo… O que devo fazer…

        Aguardo retorno

      • Rafael Clares disse:

        Tarcisio, verifique em seu host se a função fOpen() está habilitada. Alguns servidores/hosts tem essa função desabilitada.

  25. Tarcisio disse:

    Boa noite Rafael,coloquei o codigo no Servidor da UOLHOST, e o mesmo apresentou o seguinte erro:

    Warning: fopen() [function.fopen]: URL file-access is disabled in the server configuration in /home/consyscont/public_html/feeds.php on line 17

    Essa Linha no arquivo feeds, é a seguinte:

    # Abrindo o arquivo remoto
    $fp = fopen($feed, ‘r’); –> essa aqui ( 17 )
    while (!feof($fp))

    OBS: O arquivo é o memso baixado do seu site..

    O que posso fazer para resolver isso…:-(

    Aguardo contato com Urgência

    • Rafael Clares disse:

      Tarcisio, como eu já falei vc tem que pedir ao seu host para habilitar a função fopen.

      • Tarcisio disse:

        Bom dia Rafael, agradeço muito a sua atenção.. Vc resolveu o Problema do Erro..

        Agora estou com outro problema.. A minha pagina Index.php trabalha com o padrão

        content=”text/html; charset=utf-8″ />

        sendo assim as palavras aceita a centuação sem problema….

        e o ARQUIVO.PHP da sua pasta do RSS trabalha com

        content=”application/xhtml+xml; charset=iso-8859-1″

        Devido essa diferença, as palavras do RSS nao estão aceitando acentuação..

        http://consyscontabil.com.br/

        OBJETIVO: Fazer as palavras do RSS trabalhar com a mesmo padrão ( charset=utf-8 )

        AGUARDO SEU RETORNO O MAIS BREVE POSSIVEL..

      • Rafael Clares disse:

        Tarcisio, leia os comentários anteriores antes de postar as perguntas ok.. Já existe a solução para este tratamento neste mesmo post. Basta dar uma procurada ai…

  26. Lourivane disse:

    Rafael

    Esqueci de colocar o erro ‘.($title[0]).”\n”; $i++; } } # Exibindo o HTML gerado echo $html; ?>

    No PHO EDITOR tudo ok, quando publico aparece assim.

    Obrigado

    Lourivane

    • Rafael Clares disse:

      Lourivane, o problema aí é que o arquivo que vc tem está estranhamente identado…aliás está todo confuso e estão sendo misturados PHP e comentários … melhor vc baixar novamente o arquivo e dar uma olhada nele em um editor como notepad++ para ver se está identado ou não… é só isso, olha e me diz… amanhã eu te envio ele certinho se não rolar… agora to saindo huahuauhauha bom fim de semana

  27. Lourivane disse:

    Rafael

    Bom eu olhei todo o código no notpad++ mas não consegui encontrar o erro, também é o meu primeiro sita, estou fazenfo ele a unha, na garra! Então como vc falou estou mandado o codigo para vc analisar. Desculpa por incomodar tanto!
    Abraços

    <?php

    # Iniciando as variaveis

    # Url do RSS / Feed
    $feed = 'http://news.google.com/news?pz=1&cf=all&ned=pt-BR_br&hl=pt-BR&q=aquecimento+global&cf=all&output=rss&#039;;
    # Quantidade de links que serão exibidos
    $qtdelinks=10;
    # Variavel que aramazena os links
    $html = '';
    # Variavel uzada no laco x quantidade de links (set)
    $i=0;
    # Variavel que recebe os dados do url
    $xml = '';
    //ini_set('allow_url_fopen', true);

    # Abrindo o arquivo remoto
    $fp = fopen($feed, 'r');
    while (!feof($fp))
    {
    # Armazenando o conteudo do arquivo na variavel XML
    $xml .= fread($fp, 128);
    }
    # Fechando o arquivo
    fclose($fp);

    # Capturando o conteudo das Tags
    function untag2($string, $tag)
    {
    $tmpval = array();
    # Informando as tags passadas no parametro para obter o conteudo
    $preg = "|(.*?)|s”;
    # Obtendo o conteudo das tags passadas no parametro e adicionando na var tags
    preg_match_all($preg, $string, $tags);
    # Para cada tag contida em no array tags
    foreach ($tags[1] as $tmpcont)
    {
    # Adicionando no array tmpval o conteudo das tags
    $tmpval[] = $tmpcont;
    }
    # Retornando um array
    return $tmpval;
    }

    # Retornando o conteudo de todas as tags item do RSS / XML
    $items = untag2($xml, ‘item’);

    # Retornando cada tag item do array items
    foreach ($items as $item) {
    if ($i < $qtdelinks)
    {
    # Recuperando o conteudo da tag title
    $title = untag2($item, 'title');
    # Recuperando o conteudo da tag href / link
    $link = untag2($item, 'link');
    # Armazenando o link na var html
    $html .= '‘.($title[0]).”\n”;
    $i++;
    }
    }
    # Exibindo o html gerado
    echo $html;
    ?>

  28. lourivane disse:

    Rafael
    Ja fiz de tudo, renomei o arquivo noticias, com .php, briguei para meu server ativar função fopen, eles inf q ativaram, mas nada de aparecer meus links..rs
    abraços

    Lourivane

  29. ra7o disse:

    Rafael, tenho uma dúvida.

    E se eu quiser incluir logo abaixo do título o resumo do post? E talvez, incluir uma imagem pequena do post também. Há possibilidade? Pode me ajudar? Nao tenho conhecimento de PHP e estou bem perdido pra falar a real, hehe.

    Obrigado

  30. Lourivane disse:

    Ola Rafael

    Algum tempo atrás me ajudou muito para publicar pagina de noticias do site em questão. Acontece que por problema técnicos fomos obrigados a mudar de hospedagem server, e novamente tudo dificil de novo para ativarem a função allow_url_fopen, a função foi ativa para minha surpresa não aparece os links. Visualizei a pag info.php e encotrei a função allow_url_include desativada, será que pode ser isso o motivo de não aparecer os links ou é no meu código?

    Grato

    Lourivane

    • Rafael Clares disse:

      Lourivane, basta colocar um arquivo php.ini no diretório onde se encontra seu programa.
      o conteúdo do php.ini deve ser:
      allow_url_fopen=on

      Baixe o exemplo proposto neste Post, ele já possui o php.ini no pacote.
      abs

  31. Reginaldo disse:

    Rafael

    Gostaria que os links das noticias aparecessem conforme eles aparecem no site da folhaonline. Também corrigir a parte onde trata os acentos, pois aparecem pontos de interrogação onde tem acento e pontuação.

    • Rafael Clares disse:

      rs rs deixa eu entender, você está me pedindo um orçamento ? é isso ?
      Se não for isso, e parece isso pela forma que escreve, aqui no blog apenas dou uma direção e os interessados devem também “correr” em busca do que se deseja.
      abraços

  32. Reginaldo disse:

    Rafael

    Aquela parte do site da folhaonline:

    Em cima da Hora

    Gostari de deixar o meu link de noticias igual aquele.

  33. Denner Luan disse:

    Rafael, primeiramente, muito com post.
    Mas eu to com um probleminha, esse código mostra os comentários sem problemas, mas os post, ele só mostra o titulo, como resolvo isso ?

    • Rafael Clares disse:

      Denner, cara… você já tentou acessar essa url, já colou em seu browser para ver o que ocorre ?
      Bem, teste com outra fonte de notícias ok ?
      O script está funcionando bem, o link que você está querendo obter notícias é que está estranho!

  34. Diogo disse:

    Boa tarde Rafael,

    Parabéns pelo post. Mto bom mesmo. Estava a procura desde asunto mesmo. hehe…

    Seguinte, coloquei o cod no meu site, porem ele axige assim:

    MaxFeed(5); # Url caminho da noticia (xml) $f->Url(‘http://rss.tecnologia.uol.com.br/ultnot/index.xml’); # Exibe as noticias e links $f->show(); ?>

    Coloquei o include(‘feeds.php’); para chamar o arquivo, porem não acontece nada; =/
    Sabe o me dizer o que eu posso ter feito de errado!?

    Obrigado

    • Rafael Clares disse:

      Fala ae Diogo,
      Se na classe feeds a abertura da tag PHP está <?
      Altere para <?php

      Outra, você deve ter lido sobre a necessidade de ter o php.ini dentro do diretório, você fez isso?

  35. andre disse:

    Ola, primeiramente parabéns pelo post.
    Quero saber como mudo os dias da semana q estão e ingles para portugues.
    Fico no aguardo de resposta.

  36. andre disse:

    Em que lugar eu coloco este codigo?

    • Rafael Clares disse:

      Andre, melhor reformular sua pergunta anterior. Perguntou como traduzir, te disse, agora onde eu não sei onde deseja usar…
      Se estiver falando de noticias, a data vem do XML (feed) do site de origem e deveria vir traduzido de lá…

  37. andre disse:

    Desculpas, pelo mal entendimento.
    Mas assim estou colocando este sistema de noticia no site, ele vai pegar as noticias do G1, mas aparece em ver de segunta, terça ele mostra em ingles, ai minha duvida seria como mudar apra portugues e onde muda isso, em que parte do codigo. Espero ter me expresado melhor,
    Obrigado pela atenção.

  38. andre disse:

    MaxFeed(4);
    # url da noticia rss / xml
    $f->Url(‘http://g1.globo.com/dynamo/rss2.xml’);
    # exibe as noticias e links
    $f->show();
    ?>

    • Rafael Clares disse:

      @header(‘Content-Type: text/html; charset=iso-8859-1′);
      setlocale(LC_ALL, ‘pt_BR’,'ptb’);
      # inclui a classe PHP
      require_once ‘feed.class.php’;
      # inicia obj Feeder
      $f = new Feed;
      # Quantidade de noticias exibidas – padrão 5
      $f->MaxFeed(5);
      # url da noticia rss / xml
      $f->Url(‘http://g1.globo.com/dynamo/rss2.xml’);
      # exibe as noticias e links
      $f->show();
      ?>

  39. andre disse:

    Da erro
    Parse error: syntax error, unexpected ‘:’ in C:\xampp\htdocs\Fiorini2\index.php on line 74

    • Rafael Clares disse:

      André, conforme a mensagem, está dizendo que não é esperado o sinal ” : ” na linha 74. Verifique a sintaxe do código e veja se não trocou o ; (ponto e virgula) por : (dois pontos).

  40. Fabricio disse:

    ola eu quero colokar noticias no meu site e nao seu por onde começar vc pode mi ajudar?

  41. José Eduardo disse:

    O barra/barra do endereço da rss é interpretado como comentário pelo PHP.
    Comigo não funciona por isso.

  42. Renata disse:

    Olá Rafael.

    O meu index é um html, quero incluir um feed com notícias de outro site dentro do meu index.
    Utilizando esse codigo em php, como eu chamo ele dentro do meu html?

    Obrigada pela atenção,

    • Rafael Clares disse:

      Renata, você pode utilizar iframe para incluir o php.

      iframe src=”http://seusite.com/feeds/index.php” frameborder=0 …

      procure no google sobre os atributos/propriedades do iframe para que você inclua certinho no site!

  43. maximiliano furtado disse:

    a barra do link do feed na variável comenta a linha….. Como o pessoal tem feito? Tnx

  44. perfeito!!!! tudo funcionando. com quem enroscar, rs vai revisando as aspas no codigo copiado e colado. o código baixado está perfeito!!!! ótimo parebens!!!

  45. Wendel disse:

    Olá Rafael… Muito bom esta postagem, o meu funcionou perfeitamente, mesmo sem saber nada de php, porém consegui dimesionar a largura usando o css, mas a altura não, como vc pode ver no endereço http://www.conficont.com.br. Como posso resolver isso?

    • Rafael Clares disse:

      Poxa Wendel, acho que aí já é no seu CSS (pelo que vi) o elemento #rss UL;
      você pode forçar a altura com o !important; Ex:

      #rss UL { min-height: 400px !important; }

      Outra coisa, para corrigir problemas de acentos nas notícias, no arquivo feeds.php antes da linha:

      echo $html;

      Coloque assim:
      @header(‘Content-Type: text/html; charset=iso-8859-1′);

      Daí fica assim:

      @header(‘Content-Type: text/html; charset=iso-8859-1′);
      echo $html;

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s