Jika sebelumnya Anda mungkin sering mendengar kalimat “repost” atau memposting kembali artikel yang sama, maka disini saya mencoba untuk melakukan re-RSS. Re-RSS yang saya maksud adalah, ketika kita menjumpai sebuah blog atau website yang menyediakan RSS subcribes dimana disana ditampilkan RSS item dari blog atau website tersebut, namun yang menjadi masalah, banyaknya item per RSS subcribes dan panjangnya isi deskripsi membuat kita merasa kurang nyaman. Atau mungkin Anda adalah seorang developer yang berniat untuk membuat layanan RSS subcribes dengan fasilitas pembatasan banyak item per RSS dan panjang deskripsi.
Disini saya tidak sedang mencoba untuk membuat layanan RSS subcribes, dimana saya berlangganan dengan RSS sebuah blog atau website lalu menampilkannya kembali kedalam HTML. Akan tetapi saya mencoba untuk berlangganan layanan RSS subcribes, menformatnya dalam batasan limit item, membatasi panjang deskripsi, kemudian mempublikasikannya ulang dalam format XML. Sehingga saya atau orang lain dapat berlangganan RSS dengan format yang telah saya buat dengan aplikasi lainnya (pihak ketiga). Itu lah yang saya maksud dengan re-RSS.
Analoginya saya singkat dalam 3 langkah :
- Menentukan RSS target.
- Memformat RSS target.
- Mempublikasikan ulang RSS yang telah terformat.
Untuk mewujudkannya tentu kita memerlukan peralatan pendukung. Selain dari PHP, saya memerlukan SimplePie dan LibXML yang terintegrasi. Saya tidak akan menjelaskan apa itu SimplePie atau apa itu LibXML, itu adalah tugas Anda untuk mengetahuinya.
Oke, kita langsung saja, ya. Langkah-langkahnya adalah sebagai berikut :
1. Download SimplePie class library.
2. Buatlah sebuah file bernama rerss.php dan copy kode dibawah ini.
set_feed_url($_GET['feed']);
$feed->init();
}
//panggil Item RSS target dan hitung berapa banyak ?
$feed->handle_content_type();
$items = $feed->get_items();
//panggil DomXML
$pDom = new DOMDocument();
//katakan kepada browser type dan versi RSS
$pRSS = $pDom->createElement('rss');
$pRSS->setAttribute('version', '2.0');
//buat root tree XML
$pDom->appendChild($pRSS);
//tambahkan tree dibawah root
$pChannel = $pDom->createElement('channel');
$pRSS->appendChild($pChannel);
//dapatkan value dari judul, URL dan deskripsi RSS target
$pTitle = $pDom->createElement('title', $feed->get_title());
$pLink = $pDom->createElement('link', $feed->get_permalink());
$pDesc = $pDom->createElement('description', $feed->get_description());
$pLang = $pDom->createElement('language', 'en');
//buat tree dari judul, URL dan deskripsi dibawah channel
$pChannel->appendChild($pTitle);
$pChannel->appendChild($pLink);
$pChannel->appendChild($pDesc);
$pChannel->appendChild($pLang);
//check type RSS URL target, jika benar ...
if (($feed->get_type() & SIMPLEPIE_TYPE_RSS_ALL) ||
($feed->get_type() & SIMPLEPIE_TYPE_ATOM_ALL) ||
($feed->get_type() & SIMPLEPIE_TYPE_ALL))
{
//batasi banyaknya item yang akan ditampilkan di XML sesuai dengan $limitItem
$i = 0; foreach($items as $item): $i++;
//buat tree item dibawah channel
$pItem = $pDom->createElement('item');
//buat tree dari judul, URL dan deskripsi dibawah item
$pTitle = $pDom->createElement('title', $item->get_title());
$pLink = $pDom->createElement('link', $item->get_link());
//batasi panjang description sesuai dengan $stringLength
$pDesc = $pDom->createElement('description', shorten($item->get_description(), $stringLength));
//dapatkan tanggal publikasi
$pPubDate = $item->get_item_tags('', 'pubDate');
$pPubD = $pDom->createElement('pubDate', $pPubDate[0]['data']);
$pItem->appendChild($pTitle);
$pItem->appendChild($pLink);
$pItem->appendChild($pDesc);
$pItem->appendChild($pPubD);
$pChannel->appendChild($pItem);
//jila melewati batas $limiteItem, kemudian...
if($i >= $limitItem)
break;
endforeach;
//jika bukan RSS
} else { die('Senyum donQ yank'); }
//paksa browser dan katakan bahwa ini adalah file XML
header('Content-type: text/xml');
header('Pragma: public');
header('Cache-control: private');
header('Expires: -1');
//eksekusi DomXML
$pDom->formatOutput = true;
echo $pDom->saveXML() . "n";
?>
3. Simpan file rerss.php bersama-sama dengan simplepie.inc dalam satu folder.
4. Buatlah sebuah folder bernama “cache” didalam folder yang sama, dan pastikan permission / baca tulis folder tersebut adalah milik apache atau webserver.
5. Eksekusi file rerss.php di browser dengan mengetikan (saya asumsikan di localhost dan file simplepie class beserta rerss.php berada di folder bernama “simplepie” ) :
http://localhost/simplepie/rerss.php?feed=domaintujuan.com/feed/rss&limit=5&length=50
Yang artinya, item yang ingin saya tampilkan adalah 5 item, sedangkan panjang karakter deskripsi adalah 50 karakter dengan alamat feed target adalah domaintujuan.com/feed/rss.
Pertama kali load memang terasa berat, namun setelah cache terbentuk (default umur cache 30 menit), akan terasa ringan. Skrip diatas bisa juga Anda kombinasikan dengan cronjob. Saya tunggu komeng-komeng dari kawan-kawan.
Untuk selengkapnya silahkan Anda kunjungi :

bos nich artikel ane copas buat latihan dirumah, makasih ya! oh ya bos kalo boleh bikin tutorial tuk buat tempalte, baik tuk bloger, wordpress, maupun jomla, tak tunggu bos tutorial templatenya!
wah keren nih trikya… bisa di pake di blogger ga…
niat autoblog kah?