Leitor de RSS O.O.
Publicado por Diogo Souza da Silva 02/05/2007
[ Hits: 8.532 ]
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. */ ?>
Classe para criar menus de listas
Sistema Básico de Curriculum Virtual
Hash MD5, whois, IP para hostname e checagem de portas
Nenhum comentário foi encontrado.
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
IMPOSSÍVEL CORRIGIR PROBLEMAS, VOCÊ MANTEVE (HOLD) PACOTES QUEBRADOS. (0)
Linux Mint não conecta Wi-Fi sem fio (18)
Backup de arquivos no Mint [RESOLVIDO] (4)
Por que programação de baixo nível e tão comum no Linux do que no wind... (3)