Веб-компас сайтостроителей
/ Все статьи / PHP / PHP скрипты / Скрипт на PHP для вывода на сайте RSS 2.0 - новостей

Скрипт на PHP для вывода на сайте RSS 2.0 - новостей

Для пополнения сайта уникальным контентом можно использовать RSS-ленты других сайтов (например, новостных). Это понравиться как поисковым машинам, так и посетителям сайта.
Основной особенностью этого скрипта является использование регулярных выражений, то есть работа скрипта обходиться без DOM-функций. Для вывода будем использовать лишь заголовки, ссылки на публикации и краткие описания публикаций новостной ленты.
Для того чтобы не запрашивать все время данные RSS-канала, будем их кэшировать. Поэтому для каталога, где будет сохраняться кэш-файл, нужно будет установить права доступа 777.
Для нормальной работы скрипта нужен PHP не ниже версии 4.3.

 

Описание: Скрипт на PHP для вывода на сайте RSS - новостей
Скачать Размер: 1.61 KB. Количество скачиваний: 6300

 

Обновление 17.12.2010г. Новая версия скрипта. Для правильной работы нужен PHP версии 5.1. Что нового?
1. Добавлен вывод даты новостей ленты
2. Добавлен вывод рисунка канала
3. Скрипт при необходимости преобразует кодировку полученных данных ленты из windows-1251 в кодировку utf-8. Если вам не нужно преобразование (сайт у вас в кодировке windows-1251) или нужно наоборот преобразовать данные из utf-8 в windows-1251, то можно немного подредактировать скрипт (комментарии в скрипте есть, сможете самостоятельно отредактировать).

 

Описание: Скрипт на PHP для вывода на сайте RSS 2.0 - новостей. Версия v2
Скачать Размер: 2 KB. Количество скачиваний: 5650

 

Пример использования RSS-скрипта

 

Код
<?php



include_once("write_rss.php");//подключаем файл с функцией вывода RSS-новостей



//адресс новостей (URL-адрес RSS потока)

$url_rss="http://www.linedmk.com/rss.php";



//количество выводимых новостей

$kol_print_news=10;

//имя файла для хранения RSS-новостей на локальном сервере (то есть кэш-файл)

$file_rss="cache_rss.xml";

//время обновления, в часах

$hclock=1;



print_rss($url_rss,$file_rss,$hclock,$kol_print_news);//вызываем функцию вывода RSS-новостей



?>

Еще статьи из данной категории
Предыдущие статьи
  • нет
Следующие статьи
  • нет
Комментарии к публикации
Всего комментариев: 70
прохожий: Гость | 05.11.2009, 22:23 #
Попробуем
прохожий: mius | 15.12.2009, 01:51 #
Спасибо. Легенький и простой скрипт. Многие жмутся ведь из-за такого.
прохожий: Гость | 11.01.2010, 05:53 #
неплохо было бы вынести переменную показывать ли описание или нет. Также добавить дату и время
прохожий: Гость | 01.02.2010, 05:04 #
kak v skripte meniat kodirovku . mne nuzna kodirovka utf -8 ?
прохожий: mius | 11.02.2010, 02:45 #
Насколько я помню, кодировка зависит от поставщика ленты и кодировки страницы, на которой этот скрипт используется. Сам скрипт к коду не привязан.
прохожий: zherenovsky | 08.05.2010, 08:53 #
работает скрипт. автору респект и уважуха!!!
пользователь: Gazprom | 21.05.2010, 06:04 #
Спасибо. Интересный парсер. Правда требовалось немного изменить и доработать.
прохожий: seo-cook | 27.10.2010, 00:53 #
а как доработал, где-нибудь скачать можно?
прохожий: Москва | 21.05.2010, 06:07 #
Не хватает даты и времени А также названия источника.
прохожий: Дима | 07.06.2010, 19:39 #
Где взять write_rss.php
Автор статьи: admin | 09.06.2010, 07:17 #
Странный вопрос! В архиве, конечно, который можно бесплатно скачать по вышеприведенной ссылке.
прохожий: Наталья | 01.07.2010, 02:20 #
установила скрипт. Все классно выводило первый час, после этого новости пропали.
Атрибуты папки и файлов правильные. В чем ошибка?
Автор статьи: admin | 02.07.2010, 06:50 #
Я не ясновидящий! ;))
прохожий: Гость | 07.07.2010, 23:04 #
Наталья, этот скрипт по умолчанию обновляется каждый час.

В файле write_rss.php есть строчка " if (filemtime($file_rss) + $hclock*60*60 < time()) "

я поменял $hclock*60*60 на $hclock*60*, благодаря чему обновляться стало чаще, вожможно вам это поможет.
прохожий: Дмитрий | 29.07.2010, 00:38 #
У кого появляются проблемы с кодировкой, исправляем вот так:

$t=iconv("Windows-1251","UTF-8",$t);
echo ($t);
прохожий: mod | 25.09.2010, 00:11 #
У меня скрипт не выполняется :(
chmod выставил, каталоги и файлы правильно прописаны. В кэш ничего не записывается. В исходном коде скрипт вырезается о_О Может хостер блокирует?
Автор статьи: admin | 28.09.2010, 05:41 #
Как это "В исходном коде скрипт вырезается"?
прохожий: mod | 04.10.2010, 21:29 #
Странно. Брал скрипт, ничего не изменял, вставлял в голую хтмл страницу, и тоже не работало.
прохожий: mod | 04.10.2010, 21:38 #
Проблема частично решилась! Дело было в "htaccess", и с строке "RewriteEngine On". Теперь нужно прописать исключение для этого скрипта.

Спасибо за ответы!
прохожий: mod | 27.10.2010, 03:41 #
...и что-то не получается исключение сделать :(
прохожий: Glok | 07.11.2010, 17:50 #
Скрипт работает, подскажите только на картинки сделать, чтобы выводились?
Автор статьи: admin | 07.11.2010, 20:28 #
Изучаем Спецификацию RSS 2.0 (к примеру на сайте http://beshenov.ru/rss2.html), и переделываем скрипт для вывода картинок.
прохожий: Гость | 16.11.2010, 06:08 #
Можно мануал по установке?(((
Куда пхп файл заливать?Где папку для файла - кэш создать?
У меня сайт на движке.
прохожий: Гость | 16.11.2010, 06:09 #
А то мыкаюсь, блин мыкаюсь, нигде не могу найти модуль подходящий...
А это походу штучка что надо как раз ))
Автор статьи: admin | 01.12.2010, 22:51 #
В статье и так все написано, надо сделать как в приведенном коде.
прохожий: Гость | 12.12.2010, 21:42 #
Спасибо за скрипт! Хорошая идея с кэшем.

Но у меня не получается запустить любой пакет из google reader. Вы не пробовали тестить ленты ридера?
Автор статьи: admin | 13.12.2010, 03:14 #
нет, не пробовал.
прохожий: ZAVcom | 16.12.2010, 14:32 #
если бы еще при это был реализован вывод картинок к новостям
можете помочь?
прохожий: Гость | 17.12.2010, 08:07 #
а как вывести дату новости? в скрипте вроде все есть для этого но не пойму. нету и все. Может есть кака нибудь подсказка?
Автор статьи: admin | 17.12.2010, 21:36 #
Скачайте новую версию, в ней реализован вывод даты.
прохожий: Гость | 18.12.2010, 00:11 #
Я имею ввиду вывод даты в моих новостях, к примеру я хочу отправлять в качестве новости новое объявление, зоголовок , содержание ну и ДАТУ размещения.
прохожий: Гость | 18.12.2010, 19:41 #
Странно. В мозилле не выводит дату. А в интернет эксплорере выводит. Разные браузеры по разному выводят содержимое сайта?
Автор статьи: admin | 21.12.2010, 17:50 #
В самом деле странно. У меня в мозилле все нормально отображается - дату выводит.
прохожий: Евгений | 23.12.2010, 23:16 #
Для меня это тоже странно. На моем сайте (мировыеновости.рф) все выводит в том числе и даты, немного доработал что теперь картинки выдает вместе с новостью, дальше идея есть внедрить флеш проигрыватель, т.к. на некоторых новостях есть видео ролики.
прохожий: Алекс | 23.01.2011, 21:46 #
Помогите, вывод работает нормуль, но картинок нет.Что может быть, подскажите
Автор статьи: admin | 25.01.2011, 06:37 #
Картинки еще должны быть в потоке RSS. Не каждый сайт дает эту картинку.
прохожий: Гость | 31.01.2011, 02:27 #
Если я хочу на разных страницах сайта выводить разные новости
к примеру:

на 1-странице новости туризма:
указываю адрес
//адресс новостей (URL-адрес RSS потока)
$url_rss="http://news.yandex.ru/travels.rss";

на 2-странице новости происшествий
указываю адрес

//адресс новостей (URL-адрес RSS потока)
$url_rss="http://news.yandex.ru/incident.rss";

так вот при открытии этих страниц новости выводятся одинаковые что на 1 странице, что на 2 странице с первого адреса
Открываю эти страницы через некоторое время, выводятся уже новости со второго адреса ,но и на 1 странице и на 2 странице одинаковые
Автор статьи: admin | 31.01.2011, 19:44 #
Новости кэшируются, и обновляются через определенный промежуток времени. Нужно как-то сделать разделение кэширования.
прохожий: Алексей | 19.03.2011, 22:27 #
Ну так как сделать, чтобы выводились картинки? Внутри скрипта есть переменные которые их обрабатывают да и в кеш xml файле они тоже видны, но из на сайте нет в экплорере, а хроме они есть, но безразмерные плюс ссылка на них битая.
прохожий: Алексей | 19.03.2011, 22:51 #
Короче нашёл решение, как вывести картинки:
Заменить сточку:
$description[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$description[1]);

на
$description[1]=preg_replace("#<\!\[CDATA\[#eis","'\\1'",$description[1]);
$description[1]=preg_replace("#]\]>#eis","'\\1'",$description[1]);

Тогда картинки, которые передаются в дескрипшене станут отображаться.

Хорошего всем дня.
прохожий: Егор12 | 13.03.2012, 00:02 #
Действительно отображаться стали, Алексей - благодарствую за помощь. Автору непременно спасибо за скрипт!, так долго искал...
прохожий: Андрей | 09.04.2011, 00:25 #
Спасибо за замечательное решение!
Особенно понравился по доступности второй вариант.
прохожий: Алексей | 11.04.2011, 02:04 #
Появилась ошибка работе скрипта:Вот она
Notice: Undefined offset: 1 in /home/h28192/data/www/torgploshad.com.ua/write_rss.php on line 72

Notice: Undefined offset: 1 in /home/h28192/data/www/torgploshad.com.ua/write_rss.php on line 72
прохожий: Alex | 14.04.2011, 23:18 #
а как сделать так, что бы выводился только заголовок и картинка?
Автор статьи: admin | 15.04.2011, 05:07 #
Отредактируйте скрипт.
прохожий: Ивван | 21.04.2011, 00:30 #
Не знаю как у остальных, но у меня получилось сразу! Спасибо, буду пользоваться. Побольше бы таких статей!
прохожий: pric | 22.12.2011, 15:25 #
У меня тожке сразу заработало, пользуюсь
прохожий: Тарас | 01.07.2011, 01:35 #
Вот это дела, 5 минут дела и у меня есть RSS лента, скрипт работает как швейцарские часы... Доволен!!!
прохожий: Ден | 03.01.2012, 03:15 #
Приветствую! Скрипт работает, и выводит заголовок и текст + лого
Но не выводит прикреплённые Медиа файлы.
Подскажите как вывести...
Вот пример
http://www.strana.co.il/export/all.xml
прохожий: chajka | 26.01.2012, 05:20 #
Ура! Получилось! Замучилась с кодировкой - все сделала как написано - и все равно кракозябры. А оказывается кеш не поменялся. ))) Прошел час и все ок )) Спасибо огромное - столько перепробовала скриптов. Ваш - лучший.
прохожий: Дим | 23.02.2012, 21:13 #
Всё сделал по инструкции, но всё равно не выводится ничего.... Просто пустая страница.
Не подскажете, в какую сторону копать?
Спасибо.
прохожий: Dmitry | 19.03.2012, 01:28 #
Как можно объединить несколько рсс лент?
прохожий: Илья | 19.03.2012, 21:09 #
Спасибо!
прохожий: Вит | 21.04.2012, 09:11 #
Вместо echo ($t); нужно echo htmlspecialchars_decode ($t);
прохожий: Akkermanez | 09.08.2012, 16:23 #
Познавательно, надо покрутить. Спасибо.
прохожий: Евстропов | 17.11.2012, 17:47 #
Сейчас почти все движки обладают соответствующим модом, а если самопальный движек, то и ленту прикрутить как 2 пальца об асвальт)))
прохожий: garnir | 11.12.2012, 19:33 #
Ребят, ну подскажите что делать с кодировкой. Я ничерта не понимаю в PHP. Что тут написано - шатл в разобранном виде. Что нужно сделать со скриптом, чтобы русские буквы иероглифами небыли? Кодировки обоих сайтов cp1251
прохожий: Титан | 20.01.2013, 09:42 #
Попробуй в самом файле casha_rss.xml изменить в первой строке кодировку на Windows-1251
прохожий: Алексей | 08.03.2013, 13:59 #
В примере в адресе ссылки тип .php. Могу ли я подключить ссылку с расширением .rss? Пробовал, выдаёт пустую страницу
прохожий: MrFiks | 07.06.2013, 09:41 #
Отлично завелось с пол пинка! Хороший скрипт. Автору сенкс.
прохожий: Serg | 20.08.2013, 18:12 #
Я - новичек в PHP. Кому не в тягость. Опишите процесс прикручивания скрипта.
Имеем файл write_rss и что с ним делать
прохожий: Clipof | 25.07.2013, 20:58 #
как поставить ограничение на количество символов в тексте?
прохожий: Rudydu | 13.08.2013, 19:40 #
Подскажите пожалуйста как прописать исключения в htaccess для скрипта. Ну не запускается скрипт и всё не хочет работать((
прохожий: Сергей | 19.05.2014, 19:33 #
Спасибо, привинтил. Все работает!
прохожий: Сергей | 09.06.2014, 05:38 #
Подскажите
привинтил рсс от форума..показывает тему..сообщения и дату.
Но в сообщениях есть фото их тоже выводит как убрать что бы фото не показывало?
прохожий: Рамиль | 01.11.2017, 21:32 #
Спасибо за хороший скрипт. Правильно заработал сразу же после установки. Респект автору.
прохожий: eric | 18.02.2020, 11:10 #
Подскажите а как этот скрипт собственно будет запускаться на сервере? самостоятельно чтоли?
Автор статьи: admin | 06.08.2020, 10:36 #
Код, указанный в примере, прописываете на своем сайте. При открытии сайта будет запускаться данный код и будут выводиться новости.
прохожий: Егор | 28.01.2021, 20:06 #
К сожалению, не обрабатывает такую ссылку
http://mogilev.gov.by/index.php?option=com_ninjarsssyndicator&feed_id=1&format=raw
прохожий: гость | 10.02.2021, 09:44 #
После подключения яндекс-турбо в самой ленте (<item turbo="true">) выводит пустой экран (( Где копать? Спасибо.
Добавить комментарий
Новости сайта
Последние публикации в каталоге статей