Leitor de RSS em PHP utilizando 1 função

19 02 2007

Facilidade de uso sempre foi e sempre será um dos objetivos de PHP. Podemos ter, por exemplo, um simples leitor de RSS utilizando apenas uma função e dois construtores da linguagem: Vejamos:


<?php
foreach ( simplexml_load_file (http://www.digg.com/rss/index.xml&#8217;)->channel->item as $item )
echo
$item->title.“\n”;

Executando, temos:

$ php rss.php
Clinton Fixes N Korea, Bush F-ck’s It Up, China & Russia Go To Clinton Plan
Killer mobile GUI by nVidia… Hasta la “Vista” iPhone!
The UN’s New International Radiation Symbol
Microsoft’s giant ice house in Toronto (pictures)
How I Hacked Your LinkSys Router Which You Probably Bought at Best Buy

Kid’s Drawings Redone with Skill! (Part 2)
An Eraser Shaped Like A Delete Key – Designed by Art Lebedev
Funniest Sexest Washing Machine Tag Ever
Pixelated ‘City Creator’
Senate Falls Short of Advancing Measure Opposing Bush Troop Plan

Não poderia ser mais simples!

Um script mais elaborado, mas não mais complexo, poderia ser demonstrado na seguinte forma:


<?php
foreach ( simplexml_load_file (http://www.digg.com/rss/index.xml&#8217;)->channel->item as $item )
echo
sprintf(‘<a href=”%s”>%s<a/><br/>%s<br/><br/>’, $item->link, $item->title, $item->description);

Executando podemos visualizar:
Rss utilizando uma função

Com um pouco mais de trabalho podemos criar um leitor de RSS em php mais completo.

É isso

Anúncios

Ações

Information

15 responses

21 02 2007
Walter Cruz

De fato, as novas APIS de XML do PHP5 são do balacobaco!

12 03 2007
php + text to speech « PHP-BR

[…] simples, assim como mostrado em um outro post, não é necessário muito código para obter uma lista de notícias de um […]

15 09 2007
Anonymous

Não funciona!

8 02 2008
Dario

Boa dica sou iniciante em php e não conhecia esta função. Bem útil.

8 02 2008
Dario

Só uma pergunta. Sabes como eu faço pra limitar a quantidade de notícias a ser mostrada no site?

Eu coloquei o endereço do Feed da BBC brasil pra testar e vieram 20 notícias.
Sabes como eu faria para mostrar só 3 por exemplo?

Valeu.

Até mais.

27 05 2008
Thomas.k

Obrigado pela dica, amigo.

3 08 2008
Mister PC

Ótima dica :D

3 10 2008
Rubeni Lopes de Andrade

Realmente, muito simples e funcional! Parabéns!

Dário, você pode limitar os resultados obtidos com um pouco de trabalho, usando um loop for, ou while. xD

21 04 2009
tiagobutzke

Obrigado pela dica.
Me deu uma luz.. :)

31 05 2009
Patrick Kelecom

Parabéns! Em menos de 5 minutos fiz a leitura do RSS! :D

11 01 2010
Paulo

Ola, parabéns pelo post me ajudou muito. So tive um problema com os acentos, eles estão vindo bagunçados. Alguém teve esse problema e podem me ajudar?

9 03 2010
Ricardo

Para o amigo andre, que falou que naum funciona, é só substituir aspas utilizando somente aspas simples e dupla e fechando com o mesmo tipo que foi aberta, que vai funcionar direitinho, só os acentos aqui que ficaram bagunçados.

25 01 2011
Denner Luan

Olá, tentei aplicar o seguinte endereço: http://rppropaganda.com.br/blog/?feed=rss2
Não é possivel fazer a leitura com arquivos rss ? ou somente arquivo xml pode ser lido por essa função ?

25 01 2011
Denner Luan

já resolvi, mas como eu limito para 3 noticias ?

14 12 2011
Gustavo Severo

Cara, em partes o teu código para leitura de feeds funciona, mas ao clicar no link gerado, da erro na leitura de página, ou seja, o link-título não funciona, o que pode estar errado?

Deixe um comentário

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

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




%d blogueiros gostam disto: