Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: парсинг simplexml_load_file
Форумы портала PHP.SU » » Вопросы новичков » парсинг simplexml_load_file

Страниц (1): [1]
 

1. kuller - 20 Июня, 2012 - 07:20:25 - перейти к сообщению
Спарсил rss с сайта. Выводится 20 новостей на страницу, но мне не нужно только 10 самых новых. Подскажите как зделать?

PHP:
скопировать код в буфер обмена
  1.  
  2. $url = 'http://site.ru/news/index.php?rss=y';
  3. $rss = simplexml_load_file($url);
  4. foreach ($rss->channel->item as $item)
  5. {
  6.      $s = substr($item->link,47);
  7.      $t = str_replace(" ","_", $item->title);
  8.                                                
  9.      echo '<a href="/news/'.$s.'/'.$t.'">';
  10.           echo '<h3>'.$item->title.'</h3>';
  11.      echo '</a>';
  12.      echo $item->description;
  13. }
  14.  
2. fdr21 - 20 Июня, 2012 - 08:15:28 - перейти к сообщению
kuller пишет:
Спарсил rss с сайта. Выводится 20 новостей на страницу, но мне не нужно только 10 самых новых. Подскажите как зделать?


Попробуйте так:

PHP:
скопировать код в буфер обмена
  1.  
  2. $url = 'http://site.ru/news/index.php?rss=y';
  3. $rss = simplexml_load_file($url);
  4. // Устанавливаем счетчик
  5. $i = 1;
  6. foreach ($rss->channel->item as $item)
  7. {
  8.      // если достигли 10 выходим из цикла
  9.      if ($i > 10) break;
  10.      // иначе увеличиваем наш счетчик
  11.      $i++;
  12.  
  13.      $s = substr($item->link,47);
  14.      $t = str_replace(" ","_", $item->title);
  15.                                                
  16.      echo '<a href="/news/'.$s.'/'.$t.'">';
  17.           echo '<h3>'.$item->title.'</h3>';
  18.      echo '</a>';
  19.      echo $item->description;
  20. }
  21.  

 

Powered by ExBB FM 1.0 RC1