понеделник, февруари 04, 2008

RSS Feed? - няма проблеми

RSS-а е много готино нещо, но аз съм мързелив човек и не ми се занимава с писане на неща, които вече някой друг е написал. :)

Искам да ви представя едно истинско откритие FeedCreator, един много готин клас, с който буквално за минути пускате RSS Feed. Кратко лирическо отклонение - SourceForge rullz !!! На мен ми отне около 20 минути, но ако предположим, че имате мозък, не сте си омазали базата данни и използвате utf-8 ще ви отнеме най-много 5 мин.
Някои много важни неща, за хората, които смятат да го ползват. НЕ слагайте html тагове заедно с текста в базата данни. Аз преди 6 месеца така започнах и сега си чупя главата, а пък както вече споменах съм прекалено мързелив за да седна и да ги оправя. В конкретния случай бях започнал да си пиша филтър, който ги маха преди да ги подаде към feed creator-а, но внезапно ми хрумна идеята, че съществува strip_tags. Както обича да казва майка ми - "Малко акъл да имаш, ама на време да ти дойде". Съдбъ ...
2-ро: В случай, че използвате cp1251 като encoding (както мен), трябва да ви уведомя, че това не е много добра идея. По подразбиране (демек по дефолт) FeedCreator работи с utf-8 и си има много добра причина за това - такъв е стандарта. Все пак тази настойка може да се промени с малко ровичкане из класа. Добре, че не всички хардкод-ват като мен. :P (май споменах, че съм мързелив тип).
И накрая да не забравите да си валидизирате feed-a от тук. Не би трябвало да плюе грешки, поне при мен всичко си беше ок, само дето ме предупреди, че cp1251 sux.
И като цяло това са ми съветите, помощ при подкарването не мисля, че ще му трябва, много хубав пример са си дали хората в пакета.

edit: Firefox, Safari и Opera нямат никакви проблеми с feed-a, но Internet Explorer 7 твърди, че такова животно като RSS feed с cp1251 encoding няма. При което отказва въобще да го чете. Има начин да се прекодира с php, но аз нямам намерение да го правя, щом за сега никой не ме кара.

4 коментара:

ivanatora каза...

Правя един проект свързан със събирането на RSS фийдове и вече съм си направил няколко извода:
1) Мразя cp1251
2) Валидирането на фийда е задължително
3) Не използвайте инструменти, които генерират малоумен RSS код
4) Мразя cp1251
5) Когато фийда съобщава че ползва utf-8, а всъщност изплюва текст в ISO 8859-X - goto 3)

gotha каза...

1) и аз, но когато започнах да го правя конкретния сайт си нямах много идея точно какво правя и сега не ми се преправя
2) Да, моят е валиден.
3) Бих казал, че точно този генерира доста "умен" :)
4) goto 1
5) Предполагам, че е. Но моя си казва напълно правилно какъв му е encoding-a
Иначе какво точно правиш, сподели, дай линк.

ivanatora каза...

Не казвам нищо за твоя скрипт, а по принцип :)
Това което правя за сега е един проект за събиране на фийдове - регистрираш се, субмитваш си линкове - като Google Reader. За сега back-end-а е готов и работя по визуализирането на цялата работа.

gotha каза...

Ще чакаме линк като стане готово. :)