За последние 24 часа нас посетили 17774 программиста и 1686 роботов. Сейчас ищут 920 программистов ...

Парсинг RSS, настраиваемый вывод записей

Тема в разделе "PHP для новичков", создана пользователем dzhenkins, 8 апр 2014.

  1. dzhenkins

    dzhenkins Новичок

    С нами с:
    8 апр 2014
    Сообщения:
    4
    Симпатии:
    0
    Код (Text):
    1. <?php
    2.     $feed = "http://sellua.info/feed/rss";
    3.     $sxml = simplexml_load_file($feed);
    4.     foreach ($sxml->attributes() as $key => $value) {
    5.     }
    6.    
    7.     foreach ($sxml->channel->item as $item){
    8.     $strtemp = "<p><a href=\"$item->link\">"."$item->title</a> <span class=\"time\" style=\"font-size:11px;color:#555;\">".date("d.m.Y",strtotime($item->pubDate))."</span></p><p>"."$item->description</p>\n";
    9.     echo $strtemp;
    10.     }
    11. ?>
    Добрый день. Прошу помощи. Этот код выводит все записи с полным описанием. Как можно ограничить количество выводимых записей в 10 штук и ограничить выводимый текст записи (description) в 100 символов. Спасибо.
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    Код (PHP):
    1. $cnt = 0;
    2. foreach ($sxml->channel->item as $item) {
    3.  if (++$cnt>10) break;
     
  3. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Обычно, сделай счетчик, либо в цикле for сразу проверь.
    Код (PHP):
    1. mb_substr('Какой-то, русский текст',0,100,'utf-8');
     
  4. dzhenkins

    dzhenkins Новичок

    С нами с:
    8 апр 2014
    Сообщения:
    4
    Симпатии:
    0
    "Какой-то, русский текст" я так понимаю $item->description ? и как правильно вставить эту строку в код?
     
  5. dzhenkins

    dzhenkins Новичок

    С нами с:
    8 апр 2014
    Сообщения:
    4
    Симпатии:
    0
    Разобрался, вот полностью рабочий вариант:
    Код (Text):
    1. <?php
    2.     $feed = "http://sellua.info/feed/rss";
    3.     $sxml = simplexml_load_file($feed);
    4.     foreach ($sxml->attributes() as $key => $value) {
    5.     }
    6.     $cnt = 0;
    7.     foreach ($sxml->channel->item as $item){
    8.     if (++$cnt>10) break;
    9.     $strtemp = "<h2><a href=\"$item->link\">"."$item->title</a></h2> <span class=\"time\" style=\"font-size:11px;color:#555;\">".date("d.m.Y",strtotime($item->pubDate))."</span><p>". mb_substr($item->description,0,300,'UTF-8')  . "</p>\n";
    10.     echo $strtemp;
    11.     }
    12. ?>