3.12.2008

Lector RSS en PHP

El próximo post que publicaré será un video sobre como crear un lector RSS en PHP. Le aplicaremos estilos CSS y obtendremos un bonito bloque que nos mostrará las noticias de otra página web que dispongra de RSS.

Os dejo aqui el código:



$url="http://miscopiasprivadas.blogspot.com/rss.xml";
$num_noticies=20;
$RSScargada = simplexml_load_file($url);
if (
count($RSScargada->channel->item))
{

for ($i=0; $RSScargada->channel->item[$i]->title!="" AND $i<$num_noticies; $i++)
{
$titulo = utf8_decode($RSScargada->channel->item[$i]->title);
$descripcion = utf8_decode($RSScargada->channel->item[$i]->description);
$link2 = utf8_decode($RSScargada->channel->item[$i]->link);

$link = strip_tags($link2);
$titulo2 = strip_tags($titulo);
$desc3 = strip_tags($descripcion);
$cortar = "160";

$frase_corta=substr($desc3,0,$cortar); // obtener la frase cortada.
$palabras=str_word_count($frase_corta,1); // obtener array con las palabras.
$total_palabras=count($palabras)-1; // contar total array elementos y restar 1 elementos
$palabras=array_splice($palabras,0,$total_palabras); // le quitamos la ultima palabra.
//echo $palabras;

$frase_salida=implode(' ',$palabras); // y concatenamos con el espacio hacia una cadena.
$frase_salida .= "..."; // se añaden los puntos suspensivos a la cadena obtenida..

?>

1 comentario:

isrra.com dijo...

no jala, en el browser me sale eso:

channel->item)) { for ($i=0; $RSScargada->channel->item[$i]->title!="" AND $i<$num_noticies; $i++) { $titulo = utf8_decode($RSScargada->channel->item[$i]->title); $descripcion = utf8_decode($RSScargada->channel->item[$i]->description); $link2 = utf8_decode($RSScargada->channel->item[$i]->link); $link = strip_tags($link2); $titulo2 = strip_tags($titulo); $desc3 = strip_tags($descripcion); $cortar = "160"; $frase_corta=substr($desc3,0,$cortar); // obtener la frase cortada. $palabras=str_word_count($frase_corta,1); // obtener array con las palabras. $total_palabras=count($palabras)-1; // contar total array elementos y restar 1 elementos $palabras=array_splice($palabras,0,$total_palabras); // le quitamos la ultima palabra. //echo $palabras; $frase_salida=implode(' ',$palabras); // y concatenamos con el espacio hacia una cadena. $frase_salida .= "..."; // se añaden los puntos suspensivos a la cadena obtenida.. ?>