Bookmark and Share

14
user

Lelong barang permainan
Dapatkan permainan berkualiti dari jenama yang terkenal. Harga boleh runding.

RSS feed ke HTML

20 May 2008 | 11:41 pm  |   529 pembaca. Coding, InfoTech

Dah lebih tiga minggu takder entri kat blog ni. Tak tau apa nak tulis disamping cuba untuk redesign balik site ebook aku. Ok. Disebabkan takder apa nak tulis, ada baiknya aku tunjukkan kat anda semua bagaimana cara nak ambik RSS feed dalam format xml dan convert ke html. Ok jugak ni sebab kalian boleh curi mana mana feed dari blog sapa sapa pastu tampal kat website kalian. Hahah.

Ok, script ni dalam php. Mula mula buat function ni.

function getPage ($url) {
if (function_exists('curl_init')) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
return curl_exec($ch);
} else {
return file_get_contents($url);
}
}

So kita ada $url sebagai variable. url ni kena dalam format xml, atau kalian copy RSS Feed url kat mana mana. Contoh dia, kalau blog ni, RSS Feed dia http://feeds.feedburner.com/mazudi. Sekarang gantikan url ni kat code dibawah.

$PageUrl= getPage("http://feeds.feedburner.com/mazudi");
$xml =new SimpleXMLElement($PageUrl);

Ok. Boleh ikut tak ni?

Seterusnya, kita nak paparkan item item yang kita nak curi tu kat dalam website kita. Sebelum tu, kita kena tengok kat source code xml file tu. Kalau pakai Firefox, View –> Page Source. (View RSS Feed ya, bukan view html page). Kalian akan nampak lebih kurang macam kat bawah

<channel>
<title>mazudi.com</title>
<link>http://www.mazudi.com</link>
<description>Live The Life</description>
<pubDate>Fri, 16 May 2008 02:24:47 +0000</pubDate>
<generator>http://wordpress.org/?v=2.5.1</generator>
<language>en</language>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/mazudi" type="application/rss+xml" />
<item>
<title>Projek eBook Dan Adsense</title>
<link>http://feeds.feedburner.com/~r/mazudi/
~3/280192075/</link>
<comments>http://www.mazudi.com/2008/04/30/
.....</comments>
<pubDate>Tue, 29 Apr 2008 16:38:17 +0000</pubDate>
<guid isPermaLink="false">http://www.mazudi.com/?p=543
</guid>
<description><![CDATA[Selepas lebih 3 bulan memulakan project ebook yang bertujuan untuk compile url ebook ebook yang boleh didownload secara terus tanpa melalui Rapidshare atau seumpamanya, serta tujuan kedua untuk meletakkan iklan Adsense kat situ, akhirnya bulan ini saya dapat juga hasil dari Adsense ni. Tak tahu macam mana orang lain boleh dapat click yang banyak setiap [...]]]></description>....

OK. Sekarang ini code dia untuk paparkan Tajuk Entri dengan Link ke entry tersebut bersama dengan short description. Jadi item yang kita kena ambik ialah :
1. channel->item->link : Untuk link ke Tajuk Entri.

2. channel->item->title : Untuk tajuk entri

3. channel->item[$i]->description : Untuk short description.

Dalam format php, kita kena buat macam ni :

echo "<a href=\"".$xml->channel->item[0]->link." target=\"_blank\"\">".$xml->channel->item[0]->title."</a><br />";
echo $xml->channel->item[0]->description."<br />";

Ini akan memaparkan entri terkini sebab kita ambik item[0], iaitu item yang teratas sekali. Kalau nak ambik beberapa tajuk entri, kita kena pakai “for” seperti di bawah. Contohnya kalau nak ambik 10 entri.

for($i=0; $i<=9; $i++)
{
echo "<a href=\"".$xml->channel->item[$i]->link." target=\"_blank\"\">".$xml->channel->item[$i]->title."</a><br />";
echo $xml->channel->item[$i]->description."<br />";
}

Hasilnya lebih kurang macam ni:

Projek eBook Dan Adsense
Selepas lebih 3 bulan memulakan project ebook yang bertujuan untuk compile url ebook ebook yang boleh didownload secara terus tanpa melalui Rapidshare atau seumpamanya, serta tujuan kedua untuk meletakkan iklan Adsense kat situ, akhirnya bulan ini saya dapat juga hasil dari Adsense ni. Tak tahu macam mana orang lain boleh dapat click yang banyak setiap [...]

Ini adalah Code Sepenuhnya.
<?php
function getPage ($url) {
if (function_exists('curl_init')) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
return curl_exec($ch);
} else {
return file_get_contents($url);
}
}
$PageUrl= getPage("http://feeds.feedburner.com/mazudi");
$xml =new SimpleXMLElement($PageUrl);
for($i=0; $i<=9; $i++)
{
echo "<a href=\"".$xml->channel->item[$i]->link." target=\"_blank\"\">".$xml->channel->item[$i]->title."</a><br />";
echo $xml->channel->item[$i]->description."<br />";
}
?>

Selamat mencuba. Happy coding.


, , , .

Artikel Lain Yang Mungkin Berkaitan

» “Dynamic Feed” Dari Google Feed API
» Google AJAX Feed API Untuk Blogroll
» Perkongsian Link Untuk Blogroll
» My New Website
» Kursus Pembangunan Laman Web

Imej Imej Rawak

 

7 Komen untuk “RSS feed ke HTML”

  1. megat:

    wah bro. php gurus, cayalah.

    [Jawab Komen Ini]

  2. syam:

    aku enggak paham sgt ni. ni nak ciplak feed org pastu otomatik post kt blog kite ke?

    [Jawab Komen Ini]

  3. mazudi:

    @megat
    Huhu.. gurus lagi tu. Mana ada. Simple simple boleh laa.

    @syam
    Dengan script ni kita boleh paparkan apa apa xml ke format yg biasa. Contoh nya, bila tengok kat Ranking section kat bawah blog aku ni, kau nampak ada nombor nombor tu kan. Sebenarnya nombor nombor tu (Pagerank, AlexaRank etc tu) dia publish dalam format XML. Jadi dengan gunakan script ni kita boleh ambil nombor nombor dalam format xml tu kalau kita tau xml url dia dan paparkan kat site kita. Lagipun script ni tak la berat sangat bila loading, cepat jugak.

    [Jawab Komen Ini]

  4. ad3ck:

    ku da lama dengar tp tak penah try lagi hehe. mgkn sebab sebelom neh ku tak jumpa tutorial yang camnih ;p.

    [Jawab Komen Ini]

  5. Luna:

    aiyoyoh..kene pelan2 tengok nih. aku nih bukan programming-savy

    [Jawab Komen Ini]

  6. kamato:

    Terima kasih maklumat ini

    [Jawab Komen Ini]

  7. Mariah:

    Good post.

    [Jawab Komen Ini]

Maklumbalas...

Nama(required)

e-mail (will not be published) (required)

Website

Komen

XHTML: And dibenar menggunakan tag berikut:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>




Creative Commons License   1472   717  239399
©® 2004 - 2010 www.mazudi.com | 196 queries. 0.386 seconds