Pular para o conteúdo principal

Leitor de RSS Feed com PHP

Bom estou fazendo uma nova versão da minha página pessoal e pensei em listar os últimos tópicos criados aqui no blog, mas queria algo simples, sem precisar criar uma conexão para acessar minha base de dados, decidi por um leitor de feeds RSS, para pegar os últimos tópicos através do feed do blog, vou utilizar a função simplexml_load_file para fazer um leitor simples
O que são feeds?
Feed (vindo do verbo em inglês “alimentar”) é um formato de dados usado em formas de comunicação com conteúdo atualizado frequentemente, como sites (sítios) de notícias ou blogs. Distribuidores de informação, blogueiros ou canais de notícias disponibilizam um feed ao qual usuários podem se inscrever, no formato de um link. [Wikipédia]


O que é RSS?
RSS é um subconjunto de “dialetos” XML que servem para agregar conteúdo ou “Web syndication”, podendo ser acessado mediante programas ou sites agregadores. [Wikipédia]
Para que são utilizados?
Como vimos na descrição os feeds permitem que os usuários acompanhem as últimas notícias de um site ou posts de um blog, sendo bastante útil ao usuário, de maneira que o mesmo não precisa acessar os sites ou blogs procurando novas notícias, ao utilizar feeds são as notícias que vão até os usuários inscritos.
Criando seu leitor de feeds simples
Nesse script foi utilizado a função simplexml_load_file(), que carrega um arquivo xml e o transforma em objeto, mas aqui utilizamos um link de feed rss, que ao ser solicitado retorna um arquivo xml, como foi dito na descrição, os rss são dialetos xml.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
// permite requisições a urls externas
ini_set('allow_url_fopen', 1);
ini_set('allow_url_include', 1);
// caminho do feed do meu blog
// leitura do feed
$rss = simplexml_load_file($feed);
// limite de itens
$limit = 5;
// contador
$count = 0;
// imprime os itens do feed
if($rss)
{
    foreach ( $rss->channel->item as $item )
    {
        // formata e imprime uma string
        printf('<a href="%s" title="%s" >%s</a><br />', $item->link, $item->title, utf8_decode($item->title) );
echo(utf8_decode($item->description));
        // incrementamos a variável $count
        $count++;
        // caso nosso contador seja igual ao limite paramos a iteração
        if($count == $limit) break;
    }
}
else
{
    echo 'Não foi possível acessar o blog.';
}
?>
Como nem todos os serviços de hospedagem estão configurados para solicitar conteúdos através de uma url, como é nosso caso aqui, foram adicionadas duas linhas no início do script com a finalidade de configurar e permitir essa solicitação.
Creio que o script está bastante comentado, mas o que fizemos aqui foi:
  1. Definimos a url do feed na variável $feed;
  2. Solicitamos e convertemos o feed através da função simplexml_load_file();
  3. Definimos o número máximo de resultados que desejamos na variável $limit;
  4. Efetuamos um loop para imprimir os resultados;
A função sprintf() é utilizada para impressão de strings(textos) com grande número de variáveis, essa função é mais rápida do que concatenar textos e variáveis.

Comentários

Postagens mais visitadas deste blog

Configurar rotas estáticas no Linux Debian ou Red Hat Enterprise

Tabela de roteamento Usando o comando ip Usando o comando ip, pode encaminhar a instalação e visão estática.   Por exemplo, para exibir tabela de roteamento atual, você pode digitar o comando:   # ip route show A saída de exemplo: 192.168.2.0/24 dev eth1 proto link âmbito kernel src 192.168.2.1 192.168.1.0/24 dev eth0 proto kernel link âmbito src 192.168.1.2 default via 192.168.1.254 dev eth0 Você pode adicionar rotas estáticas usando seguinte comando:   ip route add {Rede} {via IP dev} {DEVICE}   Por exemplo, 192.168.55.0/24 rede disponível via 192.168.1.254:   # ip route add 192.168.55.0/24 via 192.168.1.254 dev eth1 Alternativamente, você pode usar o comando route bom e velho:   # route add -net 192.168.55.0 netmask 255.255.255.0 gw 192.168.1.254 dev eth1 Persistência Rotas Linux A desvantagem do 'ip' ou 'rota' comando é que, quando o Linux for reinicializado ele vai esquecer rotas estáticas.   Então guarde-os em arquivo de configuração. ...

Burlando a Pré-Ativação do Windows 8 na BIOS

Dias atrás, ao tentar instalar o Windows 8 no notebook de um amigo, durante o programa de instalação, me deparei com a seguinte mensagem: A chave do produto (Product key) digitada não corresponde a nenhuma imagem do Windows disponível para instalação. Digite uma chave do produto diferente.

Aprenda a calibrar o monitor do PC para ter cores mais precisas

Ajustar o monitor é importante sempre que você trabalha com qualquer demanda gráfica: afinal, design, fotografia e vídeo dependem de cores nítidas. Por isso, preparamos um guia completo que ensina a realizar o procedimento por meio de um software que já vem no Windows. Vamos por partes: 1) Começando Abra o Painel de Controle, no menu iniciar, e procure “Vídeo”. Dentro deste menu, escolha a opção “Calibrar Cor”