Intereting Posts
Невозможно заставить тему работать в режиме каталога Различные методы кэширования файлов, плюсы и минусы Как несериализировать PHP Serialized array / variable / class и возвращать подходящий объект в C # Предупреждение: неожиданный символ на входе: "(ascii = 29) state = 0 in Обтекание div вокруг каждого третьего элемента в цикле foreach PHP Синтаксическая ошибка SQL в mysql Force Загрузить MP3 с помощью PHP Предупреждение. Невозможно изменить информацию заголовка. Не удается найти ошибку Преобразование ключей массива / дерева объектов в нижний регистр Только ссылки на переменные должны быть возвращены по ссылке – Codeigniter Apache: как переписать URL-адрес без расширения файла и игнорировать регистр? Flesch-Kincaid Readability: улучшить функцию PHP Ошибка при использовании ssl cert с PHP проверьте, является ли значение в элементе html datepicker пустым и выполняет функцию jquery как ограничить число символов в текстовой области обработки php?

Лучший PHP lib / class для генерации RSS / Atom

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

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

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

Почему мой RSS-канал дублирует некоторые записи?

Related of "Лучший PHP lib / class для генерации RSS / Atom"

Универсальный генератор кормов PHP, похоже, именно то, что вам нужно – он имеет простой способ OO, объявляющий новый канал и выводящий его в желаемую спецификацию.

Он также имеет встроенные преобразования формата даты в качестве одной из его функций.

Особенности:

  • Создает RSS 1.0, RSS 2.0 и каналы ATOM 1.0
  • Все фиды проверены валидатором фида.
  • Реализует соответствующие пространства имен для разных версий.
  • Автоматически преобразует форматы даты.
  • Создает UUID для каналов ATOM.
  • Обрабатывает кодировку CDATA для требуемых тегов.

Поддерживаемые версии:

  • RSS 1.0 (который официально устарел RSS 0.90)
  • RSS 2.0 (который официально устарел RSS 0.91, 0.92, 0.93 и 0.94)
  • ATOM 1.0

Вам действительно нужна библиотека? Выберите формат и просто следуйте его спецификации для вывода допустимого XML.

Вот несколько учебников для начала.

Hmmm, IMO, если вы не хотите корпусов, оба этих формата достаточно легки для создания без каких-либо классов. Например, для RSS-каналов веб-сайта, который я администрирую, я просто написал небольшой шаблон Smarty, и он работает довольно гладко.

Для не-английских кодировок взгляните на функции PHP htmlentities: http://php.net/manual/en/function.htmlentities.php

Я только что добавил для поддержки хорватской кодировки:

$nodeText .= (in_array($tagName, $this->CDATAEncoding))? $tagContent : htmlentities($tagContent, ENT_COMPAT, 'UTF-8'); 

PHP Universal Generator Generator – хороший ответ. Мне нужно было просто изменить код в соответствии с комментарием на веб-странице, чтобы обрабатывать правильные французские символы.

http://www.ajaxray.com/blog/2008/03/08/php-universal-feed-generator-supports-rss-10-rss-20-and-atom/#comment-341

Как говорит Kereste (1 июня) FeedWrite создает проблемы с некоторыми не-английскими utf-8-символами типа ä и т. Д., Потому что xml знает только 5 сущностей (&, ", ',). Поэтому я изменил строку 298 в исходном коде на

$ nodeText. = (in_array ($ tagName, $ this-> CDATAEncoding))? $ tagContent: str_replace (array ('&', '"'," '","), array (' & ',' '', '' ',' <','> '), $ tagContent);

to avoiod конвертирует charakters в неправильные сущности xml.