• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

wrproject

[PHP]leitor de feeds RSS

2 mensagens neste tópico

<html>
<head>
<style type="text/css">
div#item
{
border-style:dotted

}
span
{
color:green
}
h2
{
color:red
}
a#procura
{
color: red
}

</style>
<title>
Leitor de Feeds RSS
</title>
</head>
</html>
</body>
<br><br>
<div align="center"><b>LEITOR DE FEEDS RSS |  VERSAO BETA: 0.1  | ULTIMA ACTUALIZAÇAO: 15/11/2007</b></div>
<br><br>
<?php
if(!isset($_POST['submit']))
{
?>
Introduza a URL do RSS : <form action="xml_parser.php" method="post"><input type="text" name="rss_path"> 
<input type="submit" value="listar feeds" name="submit"></form>
<?php
}
else
{

//aqui comeca o processamento do ficheiro XML
if(!$xml=simplexml_load_file($_POST['rss_path']))
{
echo "<h2>nao foi possivel carregar o feed rss, por favor, verifique se introduziu o caminho correctamente</h2>";
}
echo "<a id=\"procura\" href=\"xml_parser.php\">Inserir o URL do RSS</a><br>";
$xmldoc=new DOMDocument();
$xmldoc->load($_POST['rss_path']);
$numero_items=$xmldoc->getElementsByTagName('item')->length;
echo "<br><br>Foram encontrados <b>".$numero_items."</b> itens nesse canal<br>";
echo "<div align=\"center\"><hr width=85%></div>";
$nome_canal=$xml->xpath("//channel/title[1]");
$link_canal=$xml->xpath("//channel/link[1]");
$descricao_canal=$xml->xpath("//channel/description[1]");
$imagem_canal=$xml->xpath("//channel/image/url[1]");
echo "<div align=\"left\"><b>Imagem do canal:</b><br><br></div>";
echo "<a href=\"$link_canal[0]\"><img src=\"$imagem_canal[0]\"></img></a>";
echo "<br><br>";
echo "<div align=\"center\"><hr width=85%></div>";
echo "<br>Nome do canal : <span>".$nome_canal[0]."</span><br>";
echo "<br>Link do canal : <span>".$link_canal[0]."</span><br>";
echo "<br>descricao do canal :<span>".$descricao_canal[0]."</span><br><br>";
echo "<div align=\"center\"><hr width=85%></div>";
echo "<div align=\"center\"><b>Itens encontrados ($numero_items) :</b></div><br><br>";
for($i=1;$i<$numero_items+1;$i++)
{
//obtenho as informações dos items de acordo com os indices
$titulo_item=$xml->xpath("//channel/item[$i]/title[1]");
$link_item=$xml->xpath("//channel/item[$i]/link[1]");
$descricao_item=$xml->xpath("//channel/item[$i]/description[1]");
echo "<div id=\"item\" align=\"left\"><br> <b>TITULO</b>:  <a href=\"$link_item[0]\">$titulo_item[0]</a>
<br><br>
<b> DESCRICAO</b>:  <span color=\"red\"><b>$descricao_item[0]</b></span><br><br><br>
</div><br><br>";

}

}
?>
</body>
</html>

podem ver aqui o seu funcionamento aqui http://clube-video.freevar.com/xml

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

é um bom exemplo do uso do xpath, mas aconselho antes o uso de um parser como o simplexml, ou, como estamos a falar de feeds o melhor é mesmo uma ferramenta apropriada tipo magpie, simplepie ou lastrss

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora