Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Разбор RSS-файла
 
 автор: CrazyAngel   (07.07.2006 в 23:58)   письмо автору
 
 

в регулярках я не смыслю подскажите как такое сделать
вот есть
http://weblancer.net/rss/projects.rss

и при появлении нового проекта , запускалась определенная функция

скажите как сделать, если можно скриптом, а то я вообще не понимаю как сделать =(

   
 
 автор: cheops   (08.07.2006 в 10:39)   письмо автору
 
   для: CrazyAngel   (07.07.2006 в 23:58)
 

А старые у вас будут где-то храниться или вы по дате хотите ориентироваться?

   
 
 автор: CrazyAngel   (08.07.2006 в 10:55)   письмо автору
 
   для: cheops   (08.07.2006 в 10:39)
 

Да можно использовать файл или mysql, как удобней

   
 
 автор: cheops   (08.07.2006 в 11:19)   письмо автору
 
   для: CrazyAngel   (08.07.2006 в 10:55)
 

Разобрать сам RSS-файл можно при помощи следующего скрипта
<?php
  $contents 
file_get_contents("http://weblancer.net/rss/projects.rss");
  
$pattern "|<item>[\s]*<title>(.+?)</title>[\s]*<link>(.+?)</link>[\s]*<description>(.+?)</description>[\s]*<comments>(.+?)</comments>[\s]*<guid>(.+?)</guid>[\s]*<pubDate>(.+?)</pubDate>|is";
  
preg_match_all($pattern$contents$out);
  unset(
$out[0]);
  echo 
"<pre>";
  
print_r($out);
  echo 
"</pre>";
?>

Далее по дате следует анализировать новое сообщение или нет.

   
 
 автор: CrazyAngel   (08.07.2006 в 11:28)   письмо автору
 
   для: cheops   (08.07.2006 в 11:19)
 

Большое спасибо =)

   
 
 автор: CrazyAngel   (08.07.2006 в 23:27)   письмо автору
 
   для: cheops   (08.07.2006 в 11:19)
 

Если вас не затруднит, вы можете на словах объяснить как это работает?

   
 
 автор: cheops   (09.07.2006 в 10:18)   письмо автору
 
   для: CrazyAngel   (08.07.2006 в 23:27)
 

Да, мы находим все фрагменты, которые начинаются с "<item>", [\s]* - это 0 или больше число пробельных символов (это и пробелы и перевод строки), а (.+?) - это любое число символов от 1 до и выше - именно при помощи этих фрагментов мы извлекаем результаты. Результаты первых круглых скобок помещаются в массив $out[1], а вторых $out[2] и т.д.

   
 
 автор: CrazyAngel   (09.07.2006 в 13:31)   письмо автору
 
   для: cheops   (09.07.2006 в 10:18)
 

Спасибо cheops, ты настоящий гуру =)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования