Как сделать ленту новостей php

Как сделать ленту новостей php

БлогNot. PHP: пишем ленту новостей RSS

PHP: пишем ленту новостей RSS

Актуальность этого довольно старого формата связана с тем, что без RSS-ленты Ваш блог не возьмут в рейтинг блогов, вроде Яндексовского, не получится и связать блог с веб-агрегатором новостей, таким как Яндекс.Лента или Google Reader, соответственно, Вы никогда не узнаете, сколько у Вас подписчиков.

В большинстве случаев программирование RSS-ленты для типового «движка» на PHP+MySQL сведётся к одному запросу и одному программному циклу, то есть, сделать ленту очень легко. Покажем это на примере моего блога.

Как и большинство других структурированных файлов, XML-файл ленты состоит из заголовка, содержимого и завершающих тегов. Полное описание формата можете почитать сами вот здесь:

А мы ограничимся небольшим количеством стандартных для всех версий RSS тегов, которые нужно прописать в заголовке.

В свою очередь, каждый элемент Item требует указания нескольких вложенных тегов:

ЭлементОписание
titleЗаголовок
linkСсылка на полный текст статьи
descriptionАннотация статьи
categoryКатегория статьи (я для простоты не стал формировать этот тег, лента работает во всех браузерах и без него)
pubDateДата публикации статьи. Желательно ставить реальную дату, а не текущую или ещё не наставшую, иначе некоторые агрегаторы просто не будут отображать такую новость

Привёдем пример заполнения свойств заголовка:

Теперь сохранем получившийся код как файл rss.php в папке блога, добавляем в титул документа блога (внутрь тега ) строку

(вместо MyRSS также подставьте свой заголовок) и делаем кнопку RSS (стандартная нарисована здесь) со ссылкой на нашу ленту вида http://www.ваш_сайт.ru/rss.php

Что получилось, можно увидеть перейдя по ссылке RSS-канала этого блога.

Источник

RSS на PHP: Создание RSS ленты на PHP

Сейчас мы научимся создавать rss-канал на PHP. Создание RSS ленты на PHP доступно несколькими способами. Но прежде немного слов о самом rss формате.Что такое RSS?

RSS (Really Simple Syndication) – это тип данных языка XML, с помощью которого сайт может обмениваться информацией с несколькими сайтами (новости) в автоматическом режиме или для презентации новостей пользователю. Каждая RSS лента (RSS файл) должна соответствовать стандарту XML 1.0.

Преимущества RSS ленты

1) Экономия трафика для пользователей сайта.

2) Информирование пользователей о новых добавлениях.

3) Продвижение сайта с помощью rss каталогов.

4) Приток посетителей с rss-ленты.

Структура RSS ленты

Перед написанием RSS ленты на PHP, необходимо ознакомиться с ее структурой. Ниже предоставлена структура RSS ленты у версии формата RSS 2.0.

Вот примерная структура RSS ленты. Заметьте, что элементы item это ваши посты, новости, статьи, материалы или что там еще у вас может на сайте быть. Данных элементов в ленте может быть 10-20, по вашему желанию. Также необходимо помнить что pubDate (формат даты) должен быть в виде: Sat, 07 Sep 2011 17:45:01 GMT, подробнее о данном формате узнаете далее.

Элементы RSS ленты

Способы создания RSS ленты на PHP

1.Написание RSS ленты вручную, средствами PHP.

Ниже предоставлен прямолинейный PHP код вывода RSS ленты, так будет проще для понимания. При вашем желании можно данный код усовершенствовать и поместить у функции, классы…

Как правило, дата хранится в другом формате, у меня например в таком виде: 2011-12-29 12:47:00.

Для перевода в формат RFC 822 можно пользоваться следующей строкой:

Как видите реализовать RSS на PHP не так уж и сложно. Теперь давайте проверим результат работы, для этого в Опере я ввожу путь к файлу (http://sitear.ru/rss.php). Также можно представить браузеру RSS ленту, для этого в блок head вставляем следующую строку:

Вот и все, мы написали полноценную RSS ленту на PHP.

2. Использование готовых PHP скриптов для создания RSS ленты.

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

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

А вот собственно сам файл write_rss.php:

Вот мы и разобрались с RSS лентой, теперь можете наслаждаться RSS на своем сайте. Если у вас есть варианты или пожелания по поводу RSS на PHP, можете высказаться в комментариях.

Источник

Чтение RSS-ленты в PHP

Как сделать ленту новостей php

RSS – это передача и обновление новостей в автоматическом режиме.

Подавляющая часть новостных сайтов, блогов и т.д., публикует анонсы статей, событий, новостей в формате RSS. Он обеспечивает регулярное автоматическое обновление, так что Ваши посетители увидят самые последние и актуальные новости.

Формат RSS не предназначен для чтения человеком. Он представляет собой XML документ, специально разработанный для чтения машинами. Я уже писал про то, Как сделать RSS на сайте. А в этой статье я покажу, как читать RSS-ленту через PHP.

Но для начала, как вообще читается RSS-лента. Для чтения RSS используются специальные программы, называемые агрегаторами. Многие из них похожи на почтовые программы, но вместо входящих писем они отображают новости из различных источников (со всех новостных лент в которых вы зарегистрированы или на которые вы подписаны). Причем, как и в почте, непрочитанные новости отображаются жирным шрифтом.

RSS агрегаторы сильно облегчают слежение за новостями из огромного количества источников, доставляя все новости в одно место. Но принимая во внимание тот факт, что сегодня все больше распространяются смартфоны, то существуют специализированные сайты –Web-RSS агрегаторы. С их помощью можно следить за новостями с любого устройства, на котором есть браузер.

Все современные браузеры также имеют встроенную возможность чтения RSS-ленты, однако она ограниченна.

В конечном счете, некоторые сайты собирают, агрегируют новости из различных источников на один сайт. Таким образом, осуществляется “синдикация”.

После того как RSS сервис создан пора его размещать на хостинге. Фактически RSS-лента – это ссылка подобного вида – http:/mysite.ru/rss.php, которая возвращает контент в формате XML.

Сегодня используются различные версии RSS. Так, например, RSS 2.0 – это наиболее общеупотребительный формат. Он используется для новостных сайтов и блогов, а также для размещения подкастов.

Также существует новый формат, называемый Atom, который предлагает более стандартизированный подход в обновлении XML контента. Однако он крайне мало распространен за пределами блог-сообщества. Практически все движки блогов могут генерировать Atom-ленту на лету.

Для того, чтобы читать RSS-ленту нам необходимо найти ссылку на эту самую ленту. Для этого можно зайти на сайт http://news.yandex.ru/export.html. Там выбираете категорию, которая вам понравилась, и копируете ссылку, например такую – http://news.yandex.ru/gadgets.rss.

Далее необходимо прочитать содержимое файла gadgets.rss, для этого воспользуемся встроенной в PHP функцией file_get_contents. Код далее:

Далее мы передаем содержимое переменной $content в конструктор класса SimpleXmlElement и получим объектное представление содержимого RSS-ленты в переменной $items.

Итоговая функция для получения содержимого RSS-ленты будет следующая:

По стандарту, RSS-лента всегда следует похожей базовой структуре: каждая лента включает в себя корневой тег “channel”. Затем каждый элемент в ленте представлен тегом channel, у которого есть свои теги:

Таким образом, сегодня мы с Вами научились разбирать RSS-ленту с помощью PHP.

Как сделать ленту новостей php

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Комментарии ( 0 ):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

Copyright © 2010-2021 Русаков Михаил Юрьевич. Все права защищены.

Источник

RSS новости: некоторые способы импорта ленты новостей

«Для начала, определимся с тем, что такое RSS. Кратко, RSS – это формат синдикации web-контента. Это обычный формат представления данных, основанный на языке XML. Первоначально этот формат был разработан специально для экспорта заголовков новостей. Однако область его применения может выходить далеко за рамки этой задачи. Вы с легкостью можете экспортировать любую информацию, любые материалы. Формат примечателен тем, что дает единство представления данных. Любая информация, оформленная в RSS должна соответствовать определенной структуре. Благодаря такой формализации, конечный пользователь получает информацию в стандартизированном виде, что упрощает чтение и работу с ней. Именно удобством работы и объясняется растущий интерес к этому формату и его всё большая популяризация».
(http://www.kanban.ru/info/webmaster/)

В начале данного мастер-класса я покажу, как можно внедрить RSS непосредственно на страницу (здесь будут рассмотрены способы подключения RSS только при помощи php). Затем – некоторые способы оптимизации работы с RSS. В заключении я расскажу о некоторых проблемах RSS и способах их решения.

2. Как подключить RSS

3. Способы получения RSS при помощи php

Пусть URL RSS = https://www.seonews.ru/rss/ (для всех остальных примеров).
Код получения rss новости будет примерно следующим:

Плюсы – Работает на всех версиях php, не требует дополнительных модулей.
Минусы – громоздкий код.

Таким образом, в самом плохом случае задержка загрузки страницы из-за RSS не будет превышать 3 секунд: 1 секунда на открытие сокета и 2 секунды на получение данных. Функция stream_set_timeout($fp, 1); устанавливает максимальное время чтения из потока, а временем мы контролируем, чтобы вовремя выйти из цикла чтения из сокета данных.
О том, что делать, если данные не пришли – см. далее.

Это библиотека, которая позволяет взаимодействовать с различными серверами по различным протоколам.
Код с контролем времени будет выглядеть примерно следующим образом:

Плюсы – достаточно компактный код, с возможностью быстрой модификации.
Минусы – необходимо наличие установленного расширения для php и библиотеки curl, а также версия php не ниже 4.0.2

PHP позволяет получить данные из сети и другими способами, например, при помощи include с перехватом буфера содержимого или file_get_contents. Но управлять временем получения данных будет не так просто, как в описанных выше случаях.

4. Способы обработки xml

После того как мы получили данные, их необходимо обработать. Данные RSS хранятся в xml файле определенной структуры. Поэтому чтобы вписать ленту в дизайн сайта, а также избавится от ненужной информации, данные необходимо обработать.

Для начала – общая структура RSS. Упрощенно, структура RSS-файла выглядит так:

Подробнее см., например, http://www.kanban.ru/info/webmaster/ или http://intenter.ru/rss_links.do. Зная структуру, можно вытащить необходимые данные. Ниже перечислено несколько способов.

Чтобы использовать данное преобразование, можно воспользоваться следующим кодом:

$out, ‘/_xsl’ => file_get_contents(‘rss_temp.xsl’)));
xslt_free($xslt);
?>

В интернете можно найти достаточно большое количество готового кода для обработки RSS и адаптировать под свои нужды, например, http://www.rss.net.ua/rss_doc018.html или http://danneo.com/forum/showthread.php?t=1178. Также можно использовать регулярные выражения, например, если хостинг не поддерживает работу с xml технологиями.

5. Оптимизация работы с RSS

Первый способ – это полученный результат сохранять в файле, и проверять время модификации этого файла. Если разница между текущем временем и временем модификации файла превышает заданный интервал (например, час), то попытаться снова получить данные и после обработки – переписать файл.

Второй способ – это обрабатывать новости сторонним скриптом, который запускается, например, по crontab, а результат сохранять в файле. На страницу импортировать уже готовый файл.

Этот скрипт следует поместить в файл, который будет запускаться по crontab или еще какому-либо планировщику. А на странице только в нужном месте указать:

Данный мастер-класс показывает лишь некоторые способы использования и обработки RSS при помощи php. Более подробную информацию можно получить из указанных источников. Код, который расположен на внешних источниках, приведен в качестве примера, его работоспособность проверена лишь частично. Код, используемый в данной статье проверен, но все мы можем ошибаться. Поэтому, при обнаружении неточностей, или неработоспособности кода – просьба сообщить автору мастер-класса.

Источник

WWW.REDKOSTI.OKIS.RU

Скрипты PHP. Новости

PHP Скрипты. Новости

Лента новостей без использования mysql. Устанавливается ввиде модуля на страницу. Имеется админ панель (защищено). Удобен в работе, прост при установке.

Простой и удобный движок новостной ленты.

* удобный и функциональный редактор новостей;

* автоматизированная загрузка и добавление изображений;

* возможность смены пароля администратора;

* отображение сокращенной версии новости на главной странице;

* отображение полной версии каждой новости отдельно;

* редактируемый шаблон новости;

* встраивается директивой include();

* быстрая установка скрипта, средствами инсталлятора.

Требования: MySQL и PHP версии не ниже 4.3.

Размер файла 118 Kb

Простенький скрипт новостей, добавление, исправление, удаление.

Cкрипт каталога новостей с поддержкой RSS

— Новости разбиваются по дням и по страницам

— Возможность администрирования записей

— База данных MySQL или SQLite

Возможность добавлять новости сайта на главную страницу. Администрирование. Не использует mysql. Все новости записуются в текстовый файл. Подробнее в архиве со скриптом.

Новостная лента на MySQL и PHP. Очень проста в управлении и настройке. Для установки скрипта, запустите скрипт SQL «query.sql». Будет создана DB lss. Если вы хотите изменить DB то до установки скрипта query.sql, откройте его блокнотом и измените CREATE DATABASE `lss`, вместо lss установите значение вашей DB которое вы хотите. Затем если все прошло удачьно, запустите скрипт install.php и настройте. Скрипт готов к работе.

* Авторизация Скрипт находится в бета версии.

Размер файла 108 Kb

Этот скрипт предназначен для новостеи мира, саита, города и т.д.

1)Функция добавления, редактирования, удаления новостеи

2)Также имеется возможность комментариев к любои новости

3)А также есть такая функция как версия для печати новости, то есть распечатания новости в обыкновенном режиме

4)А также есть счётчик просматривания каждои новости, и количество оставящих комментариев

Размер файла 14 Kb

Новая версия скрипта Vum News! В этой версии появилось несколько новых возможностей!

-добавление много изображений в новость

-вывод новости не полностью(ссылка на полную)

Размер файла 34 Kb

Бесплатный PHP скрипт новостей на основе MySQL.

* Простое добавление, редактирование и удаление новостей.

* WYSIWYG и текстовый редактор.

Размер файла 13 Kb

Скрипт для создания новостей. Имеется админ-панель, работа с шаблонами, удаление, добавление, редактирование новостей. Все настройки через панель админа.

Размер файла 30 Kb

Последняя версия новостной ленты, предназначена для ведения новостной ленты на ваших сайтах. На одну дату можно вешать несколько новостей. Встроен календарь.

— Создание разделов новостей

— Добавление комментариев в новостях

— Поддержка настраиваемых смайликов в комментариях

— Управление авторами новостей

— Таймер на показ новостей

Размер файла 48 Kb

Umbrella это скрипт новостей с открытым исходным кодом (open source) написанный на PHP.

1. WYSIWYG редактор.

2. Не требуется внешняя БД (MySQL, и т.п. все данные хранятся в текстовых файлах).

3. Категории (два уровня вложенности)

4. Комментирование новостей (регистрация не требуется).

5. ЧПУ (Человеко-Понятные УРЛы, УРЛы вида http://сайт/news/номерновости/).

6. Шаблоны (ВСЁ можно контролировать с помощью шаблонов и темплейт-функций).

7. Документация (немного).

Размер файла 39 Kb

Скрипт для размещения новостей с безграничными возможностями. Вот только неполный список того, что можно сделать на сайте при помощи данного скрипта (и все это без использования mySQL):

— добавление и редактирования новостей с поддержкой HTML;

— архивирование и резервное копирование новостей;

— осуществление поиска по новостям и архиву и мн.др.

Также существует масса дополнительных плагинов и скинов. А в стандартный дистрибутив входит несколько примеров оформления и вывода новостей на сайте. В русской версии, переведено все, в т.ч. и справка. Также добавлен ряд дополнительных модулей, отсутствующих в базовом пакете.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *