Leitor de RSS O.O.
Publicado por Diogo Souza da Silva 02/05/2007
[ Hits: 8.485 ]
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. */ ?>
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Quero saber sobre os melhores aplicativos de office para usar em 2024 ... (2)
Queria saber se existe alguma forma de desistalar programa no ubuntu s... (3)
Toda vez que tento atualizar o clamav me deparo com erros ao atualizar... (0)