LEOFC RSS Reader
01/03/2005 —Nas férias de dezembro de 2004, resolvi fazer um leitor de RSS para facilitar a leitura de meus sites favoritos. Não é algo comercial, criei apenas por diversão.
Entre as funções do leitor destaca-se:
? Adicionar site com conteúdo RSS;
? Editar site já catalogado;
? Deletar site do banco de dados;
? Banco de dados: um simples TXT;
? Código com menos de 200(!) linhas.
Meta: desenvolver algo com menos de 300 linhas, funcional e simples.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style>
body {
padding: 0px;
text-align: left;
font: 11px "lucida grande", verdana, sans-serif;
line-height: 18px;
margin: 10px;
}
.line {
background: #edf3fe;
padding: 3px;
BORDER: #346dbe 1px solid;
}
.line a, .line a:hover, .line a:active, .line a:visited {
text-decoration: none;
color: #346dbe;
FONT-WEIGHT: bold;
}
.title, input {
BORDER: #346dbe 1px solid;
COLOR: #ffffff;
BACKGROUND-COLOR: #3d80df;
padding: 2px;
}
h1 {
font-size: 22px;
}
input {
font-size: 10px;
}
</style>
</head>
<body>
<?
echo "<div class=line>My favorites RSS: ";
$file = "myfavorites.txt";
$open = file($file);
$numero = count($open);
$i = 0;
while($i <$numero){
$array = explode("|", $open[$i]);
print("<a href="$PHP_SELF?read=$i">$array[0]</a> // ");
$i++;
}
echo "<a href="$PHP_SELF?action=new">Add new</a> </div>
<p>";
class read_xml{ // by Leandro Maniezo in http://www.phpbrasil.com/articles/article.php/id/928
var $parser;
function read_xml() {
$this->parser = xml_parser_create();
xml_set_element_handler($this->parser, "tags_ini", "tags_fim");
xml_set_character_data_handler($this->parser, "data");
}
function open_xml($url){
// Get the open tag XML <>
function tags_ini($parser, $param) {
switch($param) {
case "TITLE":
echo "</p>
<div class=content>
<div class=title><strong>Título:</strong> ";
break;
case "URL":
echo "</p>
<div class=content>
<div class=line><strong>URL:</strong> ";
break;
case "LANGUAGE":
echo "</p>
<div class=content>
<div class=line><strong>Linguagem:</strong> ";
break;
case "COPYRIGHT":
echo "</p>
<div class=content>
<div class=line><strong>Copyright:</strong> ";
break;
case "TTL":
echo "</p>
<div class=content>
<div class=line><strong>Tamanho da letra:</strong> ";
break;
case "LASTBUILDDATE":
echo "</p>
<div class=content>
<div class=line><strong>Data:</strong> ";
break;
case "LINK":
echo "</p>
<div class=content>
<div class=line><strong>Link:</strong> ";
break;
case "DESCRIPTION":
echo "</p>
<div class=content>
<div class=line><strong>Descrição:</strong> ";
break;
} // Switch end
} // Function tags_ini end </p>
// Function that get xml date
function data($parser, $data) {
echo "$data";
}
// Get the closed tag XML
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style>
body {
padding: 0px;
text-align: left;
font: 11px "lucida grande", verdana, sans-serif;
line-height: 18px;
margin: 10px;
}
.line {
background: #edf3fe;
padding: 3px;
BORDER: #346dbe 1px solid;
}
.line a, .line a:hover, .line a:active, .line a:visited {
text-decoration: none;
color: #346dbe;
FONT-WEIGHT: bold;
}
.title, input {
BORDER: #346dbe 1px solid;
COLOR: #ffffff;
BACKGROUND-COLOR: #3d80df;
padding: 2px;
}
h1 {
font-size: 22px;
}
input {
font-size: 10px;
}
</style>
</head>
<body>
<?
echo "<div class=line>My favorites RSS: ";
$file = "myfavorites.txt";
$open = file($file);
$numero = count($open);
$i = 0;
while($i <$numero){
$array = explode("|", $open[$i]);
print("<a href="$PHP_SELF?read=$i">$array[0]</a> // ");
$i++;
}
echo "<a href="$PHP_SELF?action=new">Add new</a> </div>
<p>";
class read_xml{ // by Leandro Maniezo in http://www.phpbrasil.com/articles/article.php/id/928
var $parser;
function read_xml() {
$this->parser = xml_parser_create();
xml_set_element_handler($this->parser, "tags_ini", "tags_fim");
xml_set_character_data_handler($this->parser, "data");
}
function open_xml($url){
// Get the open tag XML <>
function tags_ini($parser, $param) {
switch($param) {
case "TITLE":
echo "</p>
<div class=content>
<div class=title><strong>Título:</strong> ";
break;
case "URL":
echo "</p>
<div class=content>
<div class=line><strong>URL:</strong> ";
break;
case "LANGUAGE":
echo "</p>
<div class=content>
<div class=line><strong>Linguagem:</strong> ";
break;
case "COPYRIGHT":
echo "</p>
<div class=content>
<div class=line><strong>Copyright:</strong> ";
break;
case "TTL":
echo "</p>
<div class=content>
<div class=line><strong>Tamanho da letra:</strong> ";
break;
case "LASTBUILDDATE":
echo "</p>
<div class=content>
<div class=line><strong>Data:</strong> ";
break;
case "LINK":
echo "</p>
<div class=content>
<div class=line><strong>Link:</strong> ";
break;
case "DESCRIPTION":
echo "</p>
<div class=content>
<div class=line><strong>Descrição:</strong> ";
break;
} // Switch end
} // Function tags_ini end </p>
// Function that get xml date
function data($parser, $data) {
echo "$data";
}
// Get the closed tag XML
?>
Sem comentários ainda
você pode deixar uma resposta, ou dar um trackback para seu site.