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 ленты

Обязательные элементы канала
title Имя RSS канала. Оно, например, может совпадать с названием сайта.
description Краткое описание RSS канала.
link Ссылка на сайт, с которым связан канал.
Необязательные элементы канала (channel)
language Язык канала (en-us — Английский; ru — Русский).
copyright Копирайт или сведения об авторстве на RSS ленту.
managingEditor Email адрес ответственного за контент канала.
webMaster Email адрес ответственного за техническую часть публикации канала.
pubDate Дата публикации канала, в соответствии с Date and Time Specification of RFC 822.
lastBuildDate Время последней модификации канала в соответствии с Date and Time Specification of RFC 822.
category Одна или несколько категорий, к которым принадлежит канал.
generator Название программы, использованной для генерирования RSS канала.
docs Ссылка на файл документации подвида RSS, который был использован для создания канала.
ttl Ttl расшифровывается как ‘time to live’. Это число минут, в течение которых канал сохраняет свою актуальность.
image Используется для подключения графического файла (GIF, JPEG, или PNG), который будет показан вместе с RSS каналом. Имеет следующие параметры:
title — обычно тот же текст, что и в RSS title;
description — описание графического файла, которое будет показано, если файл не доступен;
link — ссылка на страницу, с которой связан канал;
url — URL на файл формата JPEG, GIF или PNG, который связан с RSS каналом;
width — ширина рисунка.
height — высота рисунка.
skipHours Число часов, в течение которых RSS ридеры могут не проверять канал на обновления.
skipDays Число дней, в течение которых RSS ридеры могут не проверять канал на обновления.
Обязательные элементы итема (item)
title Имя итема (новости, сообщения) RSS канала.
description Краткое описание итема.
link ссылка на страницу, содержащую полное описание события.
Необязательные элементы итема (item)
author Email адрес автора сообщения.
category Категория итема.
comments Ссылка на страницу с комментариями по итему.
enclosure Описывает медиа-объект, присоединенный к итему. Имеет следующие параметры:
url — ссылка на файл объекта;
length — размер файла в байтах;
type — тип файла, в соответствии со спецификацией MIME.
guid Уникальная строка, используемая для идентификации итема.
pubDate Дата публикации итема, в соответствии с Date and Time Specification ofRFC 822.

 

Способы создания 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 ленты.

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

 

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

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

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

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

Its during the period between one days work and the next that write college paper our minds play, both consciously and subconsciously, with the ideas that will enable us to perform creatively when we resume writing.
Вы можете оставить ответ, или trackback с вашего сайта.

Leave a Reply

Надо сделать сайт? Мы выгодно сделаем сайт! ©