Заполнение календаря на основе RSS-каналов - PullRequest
0 голосов
/ 24 сентября 2011

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

В своей первой попытке я проанализировал события на основе тега <pubDate> и агрегировал их в моем календаре.Однако вскоре я понял, что это работает не так, как я хочу.

Проблема заключается в том, что RSS-каналы с разных сайтов не соответствуют друг другу.Например,Один из сайтов опубликовал дату события в теге <pubDate> как <pubDate>Mon, 25 Jul 2011 21:11:40 GMT</pubDate>.

На другом есть тег <title> - как <title>26 Sep 2011 19:00 : The Life of a Lily</title>.

Oneна другом сайте дата события в теге <Description> указана в виде свободно плавающего текста.

Я действительно хочу выяснить, как объединить их в один календарь.Может кто-нибудь предложить, как я могу это сделать?Или я просто ругаюсь за нестандартность каналов, несмотря на то, что они технически стандартные?

Большое спасибо!

1 Ответ

0 голосов
/ 24 сентября 2011

Сначала вам нужно будет найти и разобрать часть сообщений. Вы можете сделать это с помощью регулярных выражений или с помощью строковых функций PHP. Затем вы можете использовать PHP strtotime(..) и date(..) для нормализации дат, например:

$date = '26 Sep 2011 19:00';
print date("Y-m-d", strtotime($date)); // prints: 2011-09-26
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...