Установи Linux! Стань свободным!
Онлайн всего: 12 | Посетители: 0 | Боты: 12
Дата 07.07.2024 Время: 19:37
Ваш IP: 18.222.161.59
Загрузка сервера: 1.94
old.ubuntu-desktop.ru - RSS лента на PHP - PHP    Главная > Веб-программирование > PHP

RSS лента на PHP

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

<?xml version="1.0"?>
   <rss version="2.0">
        <channel>
           <title>Название RSS ленты</title>
           <link>Ссылка на сайт ленты (ваш сайт)</link>
           <description>Краткое описание ленты (3-4 предложения)</description>
           <item>
               <title>Название новости</title>
               <link>Ссылка на новость в интернете</link>
              <description>Сокращенный текст (описание) статьи, новости</description>
              <author>Имя автора</author>
              <pubDate>Дата публикации новости</pubDate>
          </item>
          
            ...
            
          <item>
              <title>Название статьи </title>
              <link>Ссылка на статью, новость в интернете</link>
              <description>Описание</description>
              <author>Имя автора</author>
              <pubDate>Дата публикации</pubDate>
          </item>
       </channel>
  </rss>

Пример использования:

rss.php

<?php header("content-type: application/rss+xml; charset=utf-8");
echo'<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
    <title>Ubuntu-desktop.ru - RSS</title>
    <link>http://'.$_SERVER['HTTP_HOST'].'/rss.php</link> 
    <managingEditor>liman324@yandex.ru (Alex)</managingEditor>
    <description>Ubuntu, Kubuntu, Xubuntu, Debian, Lubuntu, программы, приложения, игры, Linux</description>';
include "connect.php"; // подключяемся к базе данных
     $query = "SELECT * FROM blog ORDER BY blog_id DESC LIMIT 0,10"; // только последние 10 новостей
     $result = mysql_query($query);
while($r = mysql_fetch_array($result)){ 
     $id=$r['blog_id'];
     $title= $r["name"];    
     $r['text']=htmlspecialchars_decode($r['text']);
     $r['text'] = strip_tags($r['text']); //уберём все html элементы
     $r['text'] = substr($r['text'], 0, 300); // показывать только первые 300 символов
     $r['text'] = rtrim($r['text'], "!,.-"); //убедимся, что текст не заканчивается восклицательным знаком, запятой, точкой или тире
     $r['text'] = substr($r['text'] , 0, strrpos($r['text'] , ' ')); // находим последний пробел и убираем его
     $text=$r['text']."..."; // выводим текст статьи и ставии троеточие
     $date=date("D, j M Y G:i:s", strtotime($r['date'])). " GMT"; // вывод даты в нужном формате
     $author=$r['user'];
echo'  <item>
    <title>'.$title.'</title>
    <link>http://'.$_SERVER['HTTP_HOST'].'/?blog_id='.$id.'</link>
    <description>'.$text.'</description>
    <author>'.$author.'</author>
    <pubDate>'.$date.'</pubDate>
    <guid>http://'.$_SERVER['HTTP_HOST'].'/?blog_id='.$id.'</guid>
  </item>
';  
   }     
echo '</channel>
   </rss>';      
   ?>

Элементы 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 of RFC 822.

Далее в блог head вставляем следующий код:

<link rel="alternate" type="application/rss+xml" title="RSS" href="http://имя_сайта/rss.php" />

Пример:

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
    <title>Ubuntu-desktop.ru - RSS</title>
    <link>http://ubuntu-desktop.ru/rss.php</link> 
    <managingEditor>liman324@yandex.ru (Alex)</managingEditor>
    <description>Ubuntu, Kubuntu, Xubuntu, Debian, Lubuntu, программы, приложения, игры, Linux</description>
 
  <item>
    <title>Base64</title>
    <link>http://ubuntu-desktop.ru/?blog_id=882</link>
    <description>Base64 - это позиционная система счисления с основанием 64. Система Base64 используется в электронной почте, как правило при передачи бинарных данных (файлы, картинки)....</description>
    <author>liman28</author>
    <pubDate>Thu, 7 Sep 2017 19:13:09 GMT</pubDate>
    <guid>http://ubuntu-desktop.ru/?blog_id=882</guid>
  </item>
 ******************
  <item>
    <title>Tribler - BitTorrent-клиент</title>
    <link>http://ubuntu-desktop.ru/?blog_id=878</link>
    <description>Tribler &mdash; BitTorrent-клиент, с открытым исходным кодом, который может быть использован для создания самодостаточной децентрализованной BitTorrent-сети, использующей...</description>
    <author>liman28</author>
    <pubDate>Wed, 6 Sep 2017 13:51:32 GMT</pubDate>
    <guid>http://ubuntu-desktop.ru/?blog_id=878</guid>
  </item>
</channel>
   </rss>

Для проверки RSS - ленты воспользуйтесь онлайн сервисом http://validator.w3.org/feed/

Если Вы увидите следующую надпись, то RSS - лента настроена правильно:

экрана от 2017-09-08 21:25:45

Рейтинг
<< Предыдущая статьяСледующая статья >>
  2017-09-08 21:27:05 | liman28 | Категория: PHP | Просмотров: 60
Комментарии
E-mail (не будет опубликован)
Имя
Комментарий
Введите число с картинки:     
Случайные статьи

   MPV — КОНСОЛЬНЫЙ ВИДЕОПРОИГРЫВАТЕЛЬ
MPV это проигрыватель фильмов на основе MPlayer и Mplayer2. Он поддерживает широкий спектр видео форматов, аудио и видео кодеков и типов субтитров. Проигрыватель MPV не имеет графического интерфейса, управляется он с клавиатуры. Управление производится клавишами: 1-2 контрастность 3-4 яркость 7-8 насыщенность 9-0 громкость стрелки право-влево — перемотка Пробел — пауза s — сделать скриншот f —…
  2017-08-08 18:13:39 | Категория: Мультимедиа
   SMPlayer
SMPlayer — свободный медиаплеер для Windows и Linux со встроенными кодеками, воспроизводящий практически любые форматы видео и аудио. Он не требует никаких внешних кодеков. Просто установите SMPlayer и вы сможете воспроизводить любые форматы без необходимости искать и устанавливать пакеты кодеков. Одна из наиболее интересных возможностей SMPlayer — запоминание настроек каждого из воспроизводимых файлов.…
  2017-08-03 15:04:56 | Категория: Мультимедиа
   YOUTUBE-DL — УТИЛИТА ДЛЯ ЗАГРУЗКИ ВИДЕО С YOUTUBE И ДРУГИХ ВИДЕО-ХОСТИНГОВ ПРИ ПОМОЩИ ТЕРМИНАЛА
outube-dl — утилита для загрузки видео с youtube и других видео-хостингов при помощи терминала. Установите утилиту youtube-dl: sudo apt-get install youtube-dl Скачиваем видео (пример): youtube-dl http://www.youtube.com/watch?v=uchaKdid-rw [youtube] Setting language [youtube] uchaKdid-rw: Downloading webpage [youtube] uchaKdid-rw: Downloading video info webpage [youtube] uchaKdid-rw: Extracting video information [download] Destination: Сказочная природа.-uchaKdid-rw.mp4 [download] 100% of 14.20MiB in 00:48 Скачиваем видео в нужном нам формате, при этом надо…
  2017-08-08 18:33:53 | Категория: Мультимедиа
   WARSOW — КИБЕРСПОРТИВНАЯ КОМПЬЮТЕРНАЯ ИГРА В ЖАНРЕ ТРЁХМЕРНОГО ШУТЕРА
Warsow — киберспортивная компьютерная игра в жанре трёхмерного шутера с видом от первого лица; разработана группой энтузиастов на игровом движке QFusion, который, в свою очередь, является модифицированной версией движка id Tech 2. Исходный код игры полностью открыт, однако ресурсы являются проприетарными и доступны по лицензии Warsow Content License. Игра выпускается в версиях для операционных систем Windows и Linux. Warsow…
  2017-08-09 00:08:51 | Категория: Игры
   TOYCARS — 2D ГОНОЧНАЯ ИГРА С МУЛЬТЯШНОЙ ГРАФИКОЙ
Двухмерная гоночная игра с мультяшной графикой. Вид сверху. Редакторы позволяют настраивать треки и транспортные средства.Концепция базируется на классических компьютерных играх «Jupiter’s Megadrive” для Atari ST и «Micromachines” для Super Nintendo.Гоняйте и станьте самым лучшим гонщиком. Игра находится в репозитории сайта UALinux, хотелось бы отметить, что в репозитории находится более 375 игр и 565 приложений. Для…
  2017-08-10 20:49:58 | Категория: Игры

Вверх