21 Giugno 2010
Riporto un semplice esempio di utilizzo della funzione simplexml_load_file (solo per PHP 5) per fare un parser alternativo a MagpieRSS (che però ha il pregio di essere compatibile anche con altre versioni di PHP e di essere stato fatto apposta per i feed).
Spiegazione veloce del codice:
nel primo esempio, dati i parametri del link al feed e il numero di post che si vogliono recuperare, la funzione scrive la data, il titolo del post con l’url e il contenuto di un solo post dai feed di questo blog.
function get_post_from_rss($link,$items) {
$simple = simplexml_load_file($link);
for($i=0;$i< $items;$i+=1) {
$title = $simple->channel->item[$i]->title;
$desc = $simple->channel->item[$i]->description;
$content = $simple->channel->item[$i]->children("content", true);
$data = $simple->channel->item[$i]->pubDate = date("d-m-Y",strtotime((string)($simple->channel->item[$i]->pubDate)));
$link = $simple->channel->item[$i]->link;
echo "$data<br><a href="$link">$title</a><br>n";
echo "$desc<br>n";
}
}
get_post_from_rss('https://xlthlx.com/feed/',1);
Nel secondo esempio invece, dati i parametri del link al feed e il numero di post che si vogliono recuperare, la funzione ritorna un array con titolo, contenuto, data e url dei post, che in questo caso sono 10.
function get_post_from_rss($link,$items) {
$simple = simplexml_load_file($link);
$array = array();
for($i=0;$i< $items;$i+=1) {
$array[$i]["title"]= $simple->channel->item[$i]->title;
$array[$i]["desc"]= $simple->channel->item[$i]->description;
$array[$i]["content"]= $simple->channel->item[$i]->children("content", true);
$array[$i]["date"]= date("d/m/Y",strtotime((string)($simple->channel->item[$i]->pubDate)));
$array[$i]["link"]= $simple->channel->item[$i]->link;
}
return $array;
}
print_r (get_post_from_rss('https://xlthlx.com/feed/',10));