RSS – Inserindo notícias em seu site

  • Autor do post:
  • Categoria do post:PHP DEV

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

RSS – Inserindo notícias em seu site

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

Este post tem 105 comentários

  1. Heloisa

    Ó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

    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é

    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

    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

    Muito legal este codigo, vou implementar nos meus sites

  6. carlos

    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

    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

    1. Rafael Clares

      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

      1. Luiz Felipe

        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 “[email protected]

        Flws cara, abraços!

  8. Weliton Eloilson

    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.

    1. Rafael Clares

      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. Weliton Eloilson

    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

    Obrigado Rafael esta fuincionando…muito obrigado.

  11. Wanderson

    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

    1. Rafael Clares

      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

    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?

    1. Rafael Clares

      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

    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

    Karaca, que lerdo eu sou… Valeu….

  15. Allan

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

    1. Rafael Clares

      Allan, como diz a mensagem exibida em sua página, a função fopen está desabilitada em seu servidor. Solicite ao host para habilita-la. abraços

  16. Victor Lelis

    Otima funcão! Funcionou legal aqui!
    Obrigado!

  17. Lucas

    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

    1. Rafael Clares

      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

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

    agradeço a atenção!!

  19. Olá!

    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.

    1. Rafael Clares

      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.

      1. Priscilla

        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?

        1. Rafael Clares

          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!

          1. Priscilla

            Perfeito!! Muito obrigada Rafael! =)

  20. Pedro

    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.

    1. Rafael

      Olá Rafael, cara é o seguinte fiz o site da minha web rádio no Web Acappella, a linguagem é HTML. Porém não sei instalar o Script. Tem como você me ajudar?

      1. Rafael Clares

        Rafa, primeiro me diz qual sua dificuldade! Aparece algum erro, como é?

  21. Estevão

    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

    1. Rafael Clares

      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));
      }
      }

      1. Estevao

        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.!!

        1. Rafael Clares

          Estevão, pode fazer include sim!

      2. Estevão

        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

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

    1. Rafael Clares

      Oi Márcia, dá para colocar se o local hospedado tiver suporte ao PHP.
      Basta colocar em seu HTML o trecho :

  23. moises

    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:

    Pol���a 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

      1. moises

        Valeu Pela resposta.

        html_entity_decode($title[0])

        Funcionou perfeitamente, muito obrigado.
        Esta de Parabêns.

  24. Tarcisio

    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

    1. Rafael Clares

      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

      1. Tarcisio

        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

        1. Rafael Clares

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

  25. Tarcisio

    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

    1. Rafael Clares

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

      1. Tarcisio

        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..

        1. Rafael Clares

          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

    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

    1. Rafael Clares

      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

    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;
    ?>

    1. Rafael Clares

      Lourivane, salve esse arquivo como .php , ele está com extensão .html, tente isso que falei salva-lo com extensão php, noticias.php no caso… e me avise…
      abraços

  28. lourivane

    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

    1. Lourivane

      Rafael

      Muito obrigado pela sua ajuda! Tudo OK agora! Renomeie o arquivo para extenção PHP e o meu server liberou a função FOPEN, tudo ok!
      Obrigado!

      1. Rafael Clares

        Lourivane legal, agora é só tratar os acentos, mas procure nos comentários antes ok…pq já tem esse problema resolvido.
        abraços,

  29. ra7o

    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

    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

    1. Rafael Clares

      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

    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.

    1. Rafael Clares

      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

    Rafael

    Aquela parte do site da folhaonline:

    Em cima da Hora

    Gostari de deixar o meu link de noticias igual aquele.

  33. Denner Luan

    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 ?

    1. Rafael Clares

      Ow Denner, você poderia ter postado o link ou url da fonte de notícias que está utilizando, né ?
      até logo,

    1. Rafael Clares

      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

    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

    1. Rafael Clares

      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

    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.

    1. Rafael Clares

      André,
      setlocale(LC_ALL, ‘pt_BR’,’ptb’);
      echo gmstrftime(“%A, %d %B %Y”);

  36. andre

    Em que lugar eu coloco este codigo?

    1. Rafael Clares

      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

    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.

    1. Rafael Clares

      André você poderia colocar o exemplo on-line e me passar o link ou então postar a url do feed!
      abs

  38. andre

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

    1. Rafael Clares

      @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

    Da erro
    Parse error: syntax error, unexpected ‘:’ in C:xampphtdocsFiorini2index.php on line 74

    1. Rafael Clares

      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

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

    1. Rafael Clares

      A ajuda é essa mesmo Fabricio, é esse post que você comentou, tem o que vc quer!

  41. José Eduardo

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

  42. Renata

    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,

    1. Rafael Clares

      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

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

    1. maximiliano furtado

      disfarça, soh mudar as aspas p virar str….. wlw mas n consegui mostrar noticias

  44. maximiliano furtado

    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

    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?

    1. Rafael Clares

      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;

  46. Rafael Borba

    Muito interessante o seu post.
    Estou trabalhando como gerente em um projeto inovador na area de comunicação, que agrega feeds rss.

    Gostaria de conhecer um pouco mais do seu portfólio, e se você tiver interesse discutir uma possível parceria de trabalho.

    Aguardo seu contato.

    Obrigado,

    Rafael

  47. Ton

    Boa tarde Rafael Clares, tudo certo? cara, mto show esse post… porém tem um pequeno probleminha, aparece as tags no script :S pode me dizer como deixar só a informação sem que apareça as tags?

    No aguardo!

    1. Rafael Clares

      Estranho cara, como faço para simular o problema? Tá online seu exemplo? Qual url utilizou como fonte do rss?

    1. Rafael Clares

      Francisco, no blog tem alguns posts sobre XML, seu caso é simples, você precisa do seguinte:
      – ler um XML
      – escrever um novo XML

      Existe um post no blog para cada um desses assuntos, tanto para ler quanto para criar um XML;
      Você vai ler o seu XML atual e criar o novo. abs

  48. jorge borges

    O meu site radioquerenciagaucha.net/eRss.php agora aparece com esse terminal
    eRss.php somente de leitura, como posso alterar para ficar somente .net. Sou leigo.
    obrigado amigo.

    1. Rafael Clares

      Não entendi bem o que está errado!

  49. Apulko

    Esse modelo não aparece as imagens?

  50. kranio grunge

    Olá Rafael, como eu faço para adicionar as imagens do xml?

Os comentários estão encerrados.