RSS – Insira Notícias no Site

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

RSS – Insira Notícias no Site

Olá, estou reescrevendo o Post sobre inserir noticias (feed/rss) no site.

Iremos utilizar uma classe que eu criei só para atualizar o post…

<?
# Incluindo a Classe Feed
require_once 'feed.class.php';

# Instancia  um objeto da classe Feed
$f = new Feed;

# Quantidade de noticias que serão exibidas (padrão 5)
$f->MaxFeed(10);

# Url  caminho da noticia (xml)
$f->Url('http://www.estadao.com.br/rss/manchetes.xml');

# Exibe as noticias e links
$f->show();
?>

Exemplo: Clique para visualizar
Download: Clique para baixar

Para personalizar de acordo com seu site basta editar o CSS.
O arquivo php.ini deve ser colocado também em seu host.

Abraços

Este post tem 32 comentários

  1. Lourivane

    Rafael

    Obrigado pela rápida resposta, mas a função fopen ja esta ativada. (até visualizei pag info.php pois a hospedagem poderia não ter ativado) mas tudo ok!
    Observei a função: allow_url_include = OFF, será que isso q esta atrapalhando a publicação dos links? PHP.5.2.3

    Grato

    1. Rafael Clares

      Basta colocar as funções desativadas, ativadas no php.ini …. teste todas possiveis.
      Mas veja também o link/url para as noticias, troque-o e teste outros links para leitura…
      flw

  2. Lourivane

    Valeu Rafael
    Ativei as funções, mas descobri que também havia pronlemas no endereço.

    Valeu pela atençao!

    Abraços

  3. Tarcísio Caldas

    Rafael, gostaria de saber como faço para alterar minha codificação do código do RSS… Pois as notícias estão aparecendo com caracteres especiais.. a codificação da minha page é :charset=utf-8 aguardo retorno

  4. Tarcísio Caldas

    Opa, ficou “”” devido da tag <p, mais ficou mesmo assim:

    $this->out .=””.$resumo[0].n”;

  5. Maicol

    Bem interessante esse filtro, mas você saberia me dizer que critérios ele usa para ordenação dos arquivos do diretorio escolhido?

    Abraços

    1. Rafael Clares

      Desculpe, não entendi a pergunta.
      diretório? Esse é post sobre RSS!
      abraços

  6. Tarcísio Caldas

    Boa noite Rafael, gostaria de deixar a Data do meu RSS da seguinte forma:

    A forma que está hoje:

    Sun, 06 Feb 2011 23:57:16 -0300

    A forma que gostaria que ficasse:

    Segunda, 06 Fevereiro 2011 23:57

    Existe essa Possibilidade?

    Aguardo seu retorno

  7. Bruno Fernandes

    Salve salve, parabéns pelo código.
    Quando utilizado o RSS de comments, ele busca o conteúdo.
    Agora quando eu uso o RSS de notícias, ele busca somente data e título.
    Isso buscando os dados no wordpress.
    Tem alguma solução?

    1. Rafael Clares

      Bruno, confesso que nem vi isso, me passa o link para eu ver, outra coisa, talvez seja o caso de adicionar as tags entre as linhas:

      # Para cada Item do XML retorna o titulo da noticia
      $title = untag2($item, ‘title’);
      # Para cada Item do XML retorna o link da noticia
      $link = untag2($item, ‘link’);
      # Decodificando as strings | Tratando os acentos
      $link[0] = utf8_decode($link[0]);
      $title[0] = utf8_decode($title[0]);

      Dá uma olhada no arquivo .class, talvez não esteja pegando todas as tags necessárias.

  8. Tarcisio Caldas

    Boa noite Rafael, estou com as seguintes dúvidas:

    * Onde posso colocar uma class de estilos para os links apenas do RSS ?

    * Onde posso diminuir a quantidade de caracteres de cada link do RSS?

    * Olha como está sendo meu apresentado meu RSS no link do site abaixo:

    http://inacios.digitalsistema.info/index.php

    Gostaria que o link ficasse até em LEIA MAIS

    Aguardo seu retorno

    1. Rafael Clares

      Então, o CSS você pode colocar onde desejar!
      você pode criar um ul no seu css

        show(); ?>

      Para quantidade de caracteres você pode utilizar o substr, ex:
      $str = substr($str,0,20); vai cortar do caracter 0 até o 20.
      Basta alterar na classe php que gera os links

  9. Tarcísio Caldas

    Gostaria de saber como posso resolver o problema de acentuação dos links.

    O site que disponibiliza o rss trabalha com( charset=iso-8859-1) e nossos sites trabalham com ( charset=utf-8 ) desta forma os links do RSS os acentos são convertidos em caracteres especiais.

    segue o link:

    http://msj.digitalsistema.info/a_equipe.php

    OBS: estou com esse problema desde quando conheci seus sites…. Essa conversão de caracteres nao acontece quando o site que disponibiliza o rss trabalha no mesmo padrão do meu ( charset=utf-8 )

    Aguardo retorno.

  10. Tarcísio Caldas

    Rafael outro detalhe, Gostaria de saber se existe possibilidade de eu usar mais de uma font de RSS dentro do site?

    Fiz desta forma e nao funcionou:

    # Url do RSS / Feed
    $feed = ‘http://www.stf.jus.br/portal/RSS/noticiaRss.asp?codigo=1’;
    $feed = ‘http://www.trt16.gov.br/site/rss/noticias.rss’;

    Desta forma prevaleceu o último feed

    Aguardo retorno.

    1. Rafael Clares

      Existe, seria assim:

      require_once ‘feed.class.php’;

      $a = new Feed;
      $a->MaxFeed(10);
      $a->Url(‘http://www.stf.jus.br/portal/RSS/noticiaRss.asp?codigo=1’);
      $a->show();

      $b = new Feed;
      $b->MaxFeed(10);
      $b->Url(‘http://www.trt16.gov.br/site/rss/noticias.rss’);
      $b->show();

  11. Leandro

    Rafael, excelente post me ajudou muito!!!

    porém estou com um pequena dúvida….

    gostaria de alterar os dias da semana e do mês escrito em português.

    confesso que não entendi muita coisa neste site que vc passou numa das respostas acima.
    http://php.net/manual/en/function.date.php

    Tue, 02 Aug 2011 16:44:01 GMT
    seria interesante que ficasse.
    Terça, 02 / 08 / 2011 16:44:01

    obrigado pela atenção.

    1. Rafael Clares

      Leandro,
      se for no windows faça:

      setlocale(LC_ALL,’ptb’);
      echo strftime (“%A, %d %B %Y.”);

      se for linux:

      setlocale (LC_ALL, ‘pt_BR’);
      echo strftime (“%A, %d %B %Y.”);

  12. Adriano Almeida

    Cara parabéns pelo post, eu estava procurando entender o funcionamento do RSS,
    pois já tinha visto funcionando num CMS, Muito bem explicado, código limpo, vlw msm.

  13. katyperry2011

    iai cara como eu fço pra colocar no meu site? tem como? qual o codigo?

    1. Rafael Clares

      Rapaz, é disso que trata o post. Como colocar, o código, como funciona. Tem que ler. Abs

  14. Fernando Ferreira Duarte

    Rafael estou tentando colocar o feed do site http://www.contabeis.com.br/noticias/rss/ e ja tentei usar o método de muar utf8_encode para decode e tentei deixar somente o ($title[0]) mesmo assim quando tem o acento no ê aparece ponto de interrogação no texto. Existe outra solução?
    Abraço

    1. Rafael Clares

      Não sei Fernando, não tenho ideia de como está seu código, se você colocar no pastebin.com o código e me passar o link eu vejo; (não post códigos nos comentários, sai tudo zoado);

  15. Daniel Ribeiro Ferreira

    Boa noite Rafael, ótimo este seu post, só lendo ja dá pra entender muito bem, parabéns.
    Estou com um problema, sou iniciante em php. Está aparecendo somente a Data, os links do rss não aparece. O link que estou buscando notícias é esse http://economia.terra.com.br/rss/portada/pt-br/feedrss.xml

    Poderia me ajudar?

    Agradeço

    Att. Daniel

  16. André Messias

    Ola Rafael tudo bem. Bom gostaria de saber se tem como eu copiar todas as noticias de um site para o outro usando o rss.

    Por exemplo:

    Copiar todas as noticias do portal g1.globo.com para o meu portal de noticias.

    Eu quero saber se é possível fazer isso de forma altomatica sem precisar ficar copiando as noticias manualmente.

    Gostaria que você me responde-se via e-mail, pois preciso disso urgente. Casso necessário gostaria de contratar seus serviços, o preço nos combinamos.

    meu e-mail é: [email protected]

    Espero resposta urgente. grato!

  17. Luciano

    Rafael

    Boa tarde!

    O link do RSS aparece ok, porém o resumo de descrição aparece truncado…

    ex: gerais/triangulo-mineiro/noticia/2015/05/acao-do-mp-pede-proibicao-de-rodeio-na-fenamilho-em-patos-de-minas.html”>Ação do MP pede proibição de rodeio na Fenamilho em Patos de Globo.comO Ministério Público Estadual (MPE)

    O que pode ser?

    Obrigado

  18. André

    Bom Dia, poderia me ajudar? Ao executar o index.php ele retorna:

    Feeds

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

    O que pode estar acontecendo?

    1. Rafael Clares

      Fala André, qual a versão do PHP? Tem o link?

Os comentários estão encerrados.