Парсер праздников

Дмитрий Кесаев

aka Zlobniy Babko
Заблокирован
Регистрация
10 Май 2007
Сообщения
1.332
Реакции
1.237
  • Автор темы
  • Заблокирован
  • #1
Написал от делать нех, парсер праздников с calend.ru
Выводит только дату и заголовок.

Может кому нить пригодится :D

PHP:
<html>
<head></head>
<body>
<?php
function browser($url) {
$url="http://www.calend.ru/";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
$html = curl_exec($ch);
curl_close($ch);
return $html;
}
preg_match_all('~<h1>(.*?)</h1>~is', browser($url), $data);
preg_match_all('~<div>[^>]*?<a[^>]*?title="(.*?)">~is', browser($url), $text);
print implode($data[1]);
echo "&nbsp;и мы отмечаем праздники:<br /><br />";
//print implode('<br />', $text[1]); //выводит все праздники
print implode('<br />', array_slice($text[1], 0, 3)); //выводит первые три праздника
?>
</body></html>
 
Там же есть RSS, лучше от туда брать и выводить информацию.
 
  • Автор темы
  • Заблокирован
  • #3
Я не смотрел - rss! Вернее не знал даже)))
Касаемо всяческих лент, виджетов, я против внешних ссылок и подобного!
Для меня парсер - оптимальный вариант + мало места и ресурсов использует.
 
Внешние ссылки необязательно оставлять, вот как пример:

PHP:
$rss = simplexml_load_file("http://www.calend.ru/img/export/calend.rss");
 
echo "<b>Ближайшие праздники:</b><br />";
 
foreach ($rss->channel->item as $item) {
    echo iconv("UTF-8", "Windows-1251", $item->title)."<br />";
}

На всякий случай адреса рсс:
Праздники - w w w.calend.ru/img/export/today-holidays.rss
Именины - w w w.calend.ru/img/export/today-names.rss
Памятные события - w w w.calend.ru/img/export/today-events.rss
Дни городов - w w w.calend.ru/img/export/today-citydays.rss
 
Назад
Сверху