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

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

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

 

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

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

тема: rss - выдернуть новости с другого сайта с маленькими картинками с описанием не более 30 букв
 
 автор: RUNAR   (30.07.2007 в 00:22)   письмо автору
 
 

Выдернуть с сайта warec.ws rss и показать новости на другом сайте с маленькими картинками с описанием не более 30 букв.

   
 
 автор: Киналь   (30.07.2007 в 02:12)   письмо автору
 
   для: RUNAR   (30.07.2007 в 00:22)
 

А в чем проблема-то?

   
 
 автор: Runar   (30.07.2007 в 18:36)   письмо автору
 
   для: Киналь   (30.07.2007 в 02:12)
 

Помогите пожалуйста Киналь покажите этот скрипт

   
 
 автор: afdm   (30.07.2007 в 18:51)   письмо автору
 
   для: RUNAR   (30.07.2007 в 00:22)
 

кинь ссылку.............
а вот скрипт для вывода новостей с сайта lenta.ru (простой, там разберёшься), только конечно придётся его основательно доработать.......

   
 
 автор: Runar   (02.08.2007 в 17:07)   письмо автору
 
   для: afdm   (30.07.2007 в 18:51)
 


<?php
  $url 
"http://warec.ws/rss.php";
  
// Загружаем файл
  
$content file_get_contents($url);
  
// Регулярное выражение
  
$pattern "|<item>[\s]*<title>(.*?)</title>[\s]*".
             
"<link>(.*?)</link>[\s]*".
             
"<description>(.*?)</description>[\s]*".
             
"<pubDate>(.*?)</pubDate>[\s]*".
             
"<category><?php
  
$url = "http://warec.ws/rss.php";
  // Загружаем файл
  
$content file_get_contents($url);
  
// Регулярное выражение
  
$pattern "|<item>[\s]*<title>(.*?)</title>[\s]*".
             
"<link>(.*?)</link>[\s]*".
             
"<description>(.*?)</description>[\s]*".
             
"<pubDate>(.*?)</pubDate>[\s]*".
             
"<category>(.*?)</category>|is";
  
preg_match_all($pattern$content$out);

  for(
$i 0$i 5$i++)
  {
  
// вывод 5 главных новостей
    
echo ($i+1).". "."<a href={$out[2][$i]}>{$out[1][$i]}</a><br>";
         
//"{$out[3][$i]}<br>";
  
}
?></category>|is";
  preg_match_all($pattern, $content, $out);

  for($i = 0; $i < 5; $i++)
  {
  // вывод 5 главных новостей
    echo ($i+1).". "."<a href={$out[2][$i]}>{$out[1][$i]}</a><br>";
         //"{$out[3][$i]}<br>";
  }
?>

Что означают эти символы ? Выделены жирными шрифтом
  $pattern = "|<item>[\s]*<title>(.*?)</title>[\s]*".
             "<link>(.*?)</link>[\s]*".
             "<description>(.*?)</description>[\s]*".
             "<pubDate>(.*?)</pubDate>[\s]*".
             "<category>(.*?)</category>|is";

   
 
 автор: winflip   (02.08.2007 в 17:23)   письмо автору
 
   для: Runar   (02.08.2007 в 17:07)
 

это экранирование символов в регуларке

   
 
 автор: Trianon   (02.08.2007 в 18:23)   письмо автору
 
   для: winflip   (02.08.2007 в 17:23)
 

>это экранирование символов в регуларке
Чушь нести не надо, ага?

   
 
 автор: Trianon   (02.08.2007 в 18:29)   письмо автору
 
   для: Runar   (02.08.2007 в 17:07)
 

>Что означают эти символы ? Выделены жирными шрифтом

Вы подчеркнули практически все использованные конструкции языка регулярных выражений.
С функциями php можно ознакомиться в справочнике- http://softtime.ru/group/id_group=3
Синтаксис и отчасти семантику регулярных выражений можно поглядеть там же - http://softtime.ru/dic/id_dic=134&id_group=3

Но язык сам по себе достаточно непростой.
Подробнейший учебник по нему - книгу Дж.Фридла - можно найти здесь: http://softtime.ru/article/index.php?id_article=62

   
 
 автор: Жорик   (03.08.2007 в 10:36)   письмо автору
 
   для: Trianon   (02.08.2007 в 18:29)
 

а у меня такой вопрос... что быстрее работает, парсер xml или регулярки?

   
 
 автор: cheops   (08.08.2007 в 10:16)   письмо автору
 
   для: Жорик   (03.08.2007 в 10:36)
 

Парсер зачастую работает быстрее.

   
 
 автор: winflip   (02.08.2007 в 18:32)   письмо автору
 
   для: Runar   (02.08.2007 в 17:07)
 

почему чушь то [\s] допустим это экранирование пробела

   
 
 автор: Trianon   (02.08.2007 в 18:36)   письмо автору
 
   для: winflip   (02.08.2007 в 18:32)
 

потому что чушь.
это не экранирование пробела.
это создание класса символов пропуска.

   
 
 автор: winflip   (02.08.2007 в 18:38)   письмо автору
 
   для: Trianon   (02.08.2007 в 18:36)
 

просто я не правильно выразился:)

   
Rambler's Top100
вверх

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