Leitor de RSS O.O.
Publicado por Diogo Souza da Silva 02/05/2007
[ Hits: 8.484 ]
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
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (11)