
19.09.2006, 00:37
|
|
Banned
Регистрация: 22.08.2006
Сообщений: 608
Провел на форуме: 6144796
Репутация:
1095
|
|
Вот два примерчика на пхп.
Пример 1:
PHP код:
<?php
// кешируем RSS файлик
// место куда пишем файлик кэша
$filename = $_SERVER['DOCUMENT_ROOT']."/cache/phpnews.rss";
// проверяем насколько старый файлик
$modif=time()-@filemtime ("$filename");
// если в кэше нет файла или он слишком старый - обновляем
if(!file_exists($filename) || $modif>"3600")
{
$rss = file_get_contents("http://www.php.net/news.rss");
$handle = fopen ("$filename", "w");
fwrite($handle, $rss);
fclose($handle);
}
// подключаем либу из набора PEAR для разбора rss
require_once("XML/RSS.php");
$rss =& new XML_RSS("$filename");
$rss->parse();
foreach ($rss->getItems() as $value) {
//VAR_DUMP($value); exit; //- это так на всякий случай если надо посмотреть что там лежит :-)
// формируем строку с новостями
$page = $page."<b>".$value['dc:date']."</b><a href=\"".$value['link']."\" class=\"menu\">"." ".$value['title']. "</a><br>" .$value['description'] . "\n";
}
// выводим все что получили
echo"$page";
?>
Пример 2 (для PHP5):
PHP код:
<?php
// кешируем RSS файлик
// место куда пишем файлик кэша
$filename = $_SERVER['DOCUMENT_ROOT']."/cache/phpnews.rss";
// проверяем насколько старый файлик
$modif=time()-@filemtime ("$filename");
// если в кэше нет файла или он слишком старый - обновляем
if(!file_exists($filename) || $modif>"3600")
{
$rss = file_get_contents("http://www.php.net/news.rss");
$handle = fopen ("$filename", "w");
fwrite($handle, $rss);
fclose($handle);
}
// читаем файлик с помощью Simple XML
$RSS = simplexml_load_file($filename);
// для любопытных что жк мы там получили :-)
//VAR_DUMP($RSS);
foreach ($RSS->channel->item as $item) {
// при надобности перекодируем полученные данные в нужную кодировку
//$item->description = iconv("UTF-8","WINDOWS-1251",$item->description);
//$item->title = iconv("UTF-8","WINDOWS-1251",$item->title);
//формируем ссылку и выводим данные
echo "<a href=\"".$item->link."\">".$item->title."</a><br>$item->description<br><br>";
}
?>
ЗЫ. Нашел их уже не помню где...
|
|
|