Leitor de RSS O.O.
Publicado por Diogo Souza da Silva 02/05/2007
[ Hits: 8.693 ]
Homepage: www.manfiesto.blog.br
Desenvolvi um pequeno leitor de RSS em php usando Orientação a Objetos. É um script bem simples que recebe um xml como parâmetro, carrega as informação do rss e as exibe de forma bem simplificada.
Junto coloquei uma classe estendendo a classe principal(rss) para uma caixa com formatação. O script depende do xmlize.php de www.hansanderson.com
O script é facilmente extensivel.
<?php
/*
Função para leitura de RSS via PHP
Gera um output padrão, que pode ser formatado
Requer a funcao xmlize "by Hans Anderson, www.hansanderson.com/contact/"
Enjoy
By http://www.manifesto.blog.br/
*/
require_once("xmlize.php") ;
class rss {
function rss($a) {
// $a deve ser o caminho para o rss
// Primeiro armazenamos o xml
$data = file_get_contents($a) ;
$info = xmlize($data);
$this->title = $info["rss"]["#"]["channel"][0]["#"]["title"][0]["#"]; // Titulo do RSS
$this->link =$info["rss"]["#"]["channel"][0]["#"]["link"][0]["#"] ; // Link para a pagina
$this->itens = $info["rss"]["#"]["channel"][0]["#"]["item"]; // Conteudo do RSS
}
function leitor() {
// Funcao que le o rss e gera uma caixa sem formatação
$itens = $this->itens ;
$output = "<div class='rss_container'><h3><a href='".$this->link."' > ";
$output .= $this->title."</a></h3><div class='rss_inner'><dl>";
for($i = 0; $i < sizeof($itens); $i++) {
$link = $itens[$i]["#"]["link"][0]["#"] ;
$data = $itens[$i]["#"]["datePosted"][0]["#"] ;
$titulo = $itens[$i]["#"]["title"][0]["#"] ;
$titulo = $itens[$i]["#"]["title"][0]["#"] ;
$output .= "<dt><a href='$link'>$titulo</a> :: ($data) </dt>";
}
$output .= "</dl></div></div>" ;
return $output ; // Ele retorna o código da caixa
}
}
class box extends rss{
// Aqui eu fiz uma nova classe extendendo o rss
// Essa classe exibe uma caixa formatada
// Poderia ter feito sem extensão, mas quis mostrar como estender o script.
var $color = "#000000";
var $link_color = "#0000EE";
var $background= "#FFFFFF";
var $padding= "4px";
var $width= "250px";
var $height= "auto";
var $border= "thin black solid" ;
var $h3_background= "#EFEFEF" ;
var $h3_color= "#000000";
function box($a) {
// Passa para o rss ;
$this->rss($a);
}
function show_box() {
// Funcao que gera uma caixa formatada
$itens = $this->itens ;
$output = "<div style=\"display: block; background-color: $this->background; padding: $this->padding; width: $this->width;height: $this->height; border: $this->border ; color: $this->color\" >";
$output .= "<h3 style=\"background-color: $this->h3_background ; padding: 0 0 0 0;margin: 0 0 0 0; \">" ;
$output .= "<a href='".$this->link."' style=\"color: $this->h3_color \"> ";
$output .= $this->title."</a></h3><div class='rss_inner'><dl>";
for($i = 0; $i < sizeof($itens); $i++) {
$link = $itens[$i]["#"]["link"][0]["#"] ;
$data = $itens[$i]["#"]["datePosted"][0]["#"] ;
$titulo = $itens[$i]["#"]["title"][0]["#"] ;
$titulo = $itens[$i]["#"]["title"][0]["#"] ;
$output .= "<dt><a href='$link' style=\"color: $this->link_color \">$titulo</a> :: ($data) </dt>";
}
$output .= "</dl></div></div>" ;
$this->output = $output ;
return $this->output ;
}
}
$rss = new rss("http://www.manifesto.blog.br/rss.xml"); // Assim chamamos o rss
echo $rss->leitor(); // Aqui sera exibida a caixa sem formatação
unset($rss) ;
$rss = new box("http://www.manifesto.blog.br/rss.xml") ; // Agora vamos usar a extensão da classe rss, o box .
$rss->color = "red" ;
$rss->link_color = "green" ;
$rss->h3_color = "purple" ;
echo $rss->show_box(); // Aqui sera exibida a caixa formatada
/*
Pode se alterar os valors da caixa pelas seguintes variaveis:
$rss->background
$rss->padding
$rss->width
$rss->height
$rss->border
$rss->color
$rss->h3_background
$rss->h3_color
Ou criando um estilo próprio.
*/
?>
Script PHP simples que mostra IP e UserAgent do visitante, mesmo em alguns casos de proxy
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Pergunta: Meu teclado não está respondendo direito como e consertar? (1)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)
Secure boot, artigo interessante, nada técnico. (5)









