PDA

Просмотр полной версии : Новостной блог!


baz1k
17.09.2006, 22:27
Народ, скажите, как вы делаете новостной блог на тему хакерства, то есть вы же не каждый день сами своими руками вбиваете, а бот ну скрипт... подскажите плз...

DIAgen
17.09.2006, 22:57
Вот тебе примерчик http://rss.km.ru/

forgotten
18.09.2006, 00:47
RSS (Really Simple Syndication) - это формат, специально придуманный для публикации новостей с информационных сайтов, на других сайтах. Подробнее спецификации rss 2.0 можешь почитать тут:
http://www.web-hack.ru/rss/rss_2.0_specification.html

SMiX
18.09.2006, 09:47
На пятом пхп самый новичок запросто справится с рссками через эту штуку
http://framework.zend.com/manual/ru/zend.feed.html

baz1k
18.09.2006, 15:30
Хорошо, я все посмотрел, спасибо вам! Скажите пожалуйсто как мне не самому на сайт добоволять это все а что бы какой нить скрипт все это забирал!

SMiX
18.09.2006, 16:57
Написать этот самый скрипт... Или заказать его...

Digimortal
19.09.2006, 00:37
Вот два примерчика на пхп.
Пример 1:
<?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\">"."&nbsp;".$value['title']. "</a><br>" .$value['description'] . "\n";
}

// выводим все что получили
echo"$page";
?>
Пример 2 (для PHP5):
<?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>";

}
?>
ЗЫ. Нашел их уже не помню где...

Trinux
19.09.2006, 09:04
2 Digimortal
Какие логичные скрипты ты нашел =)) автор сначала смотрит время изменения файла, и только потом проверяет существует ли этот файл вообще =)

Дикс
20.09.2006, 22:03
// подключаем либу из набора PEAR для разбора rss
require_once("XML/RSS.php");
можно поподробнее? где его взять?

SMiX
20.09.2006, 22:25
pear.php.net

Digimortal
20.09.2006, 23:17
2 Digimortal
Какие логичные скрипты ты нашел =)) автор сначала смотрит время изменения файла, и только потом проверяет существует ли этот файл вообще =)
=)))))))))
в трэш их!!
Ну или не в треш, а в редактор и править... :)