RSS Feed

Showing WordPress Posts in Your Own Website

Posted on

Sama seperti tulisan sebelumnya, namun kali ini ngambil posts di blog wordpress untuk ditampilkan. Bedanya, kalau ini formatnya XML kalau Twitter formatnya json. Tapi ga masalah. Mari kita saksikan bagaimana caranyo?

Ambil dan Parsing Posts Pake Feed RSS versi 2 dari WordPress

Ini adalah skrip untuk ngambil rss dengan item lima post ($i). Lalu kelima post ini dimasukin ke dalam array $data_ary. Nanti $data_ary ini bisa di foreach untuk ditampilkan di html, atau bisa juga ditampilkan dalam bentuk json buat webservice seperti yang saya lakukan (tapi di contoh ini hanya sampai array aja). Baiklah, inilah skrip yang saya modif dari mari.

function startElement($parser, $name, $attrs) {
	global $insideitem, $tag, $title, $description, $link, $pubDate;
	if ($insideitem) {
		$tag = $name;
	} elseif ($name == "ITEM") {
	     	$insideitem = true;
	    }
  	}

  	function endElement($parser, $name) {
		global $insideitem, $tag, $title, $description, $link, $pubDate, $i, $data_ary, $app, $count;
	   	if (!$i) $i=0;
	   	if (($name == "ITEM") && ($i<=5)) {
    	$i++;

		$data_ary[$i]['link'] = trim($link);
		$data_ary[$i]['title'] = trim($title);
		$data_ary[$i]['datetime'] = substr($pubDate,0,16);
		$data_ary[$i]['desc'] = trim($description);
		$data_ary[$i]['excerpt'] = strtoupper(trim($title)) . "
". trim($description);

	    $title = "";
	    $description = "";
	    $link = "";
	    $pubDate="";
	    $insideitem = false;
  	}

}

function characterData($parser, $data) {
 	global $insideitem, $tag, $title, $description, $link, $pubDate;
  	if ($insideitem) {
	    switch ($tag) {
		    case "TITLE":
		    	$title .= $data;
		    	break;
		    case "DESCRIPTION":
		    	$description .= $data;
		    	break;
		    case "LINK":
		    	$link .= $data;
		    	break;
		    case "PUBDATE":
		    	$pubDate .= $data;
		    	break;
	    }
  	}
}

$insideitem = false;
$tag = "";
$title = "";
$description = "";
$link = "";
$pubDate ="";
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
$fp = fopen("http://premierinvestment.wordpress.com/feed/","r");
while ($datarss = fread($fp, 4096)) 
	xml_parse($xml_parser, $datarss, feof($fp))
or die(sprintf("XML error: %s pada baris %d", 
  		xml_error_string(xml_get_error_code($xml_parser)), 
  		xml_get_current_line_number($xml_parser)));
fclose($fp);
xml_parser_free($xml_parser);

Tampikan Posts di Website

$data_ary ini bisa dipanggil di html seperti ini

Tampilkan Post di HTML

Tampilkan Post di HTML

Demikian! Semoga tulisan ini bermangpaat bagi hidup dan kehidupan!

Bahan Bacaan:

http://www.afrioni.web.id/2012/01/parsing-rss-dan-menampilkan-rss-dengan.html

About these ads

About mangkum

A fund manager, fixed income research analyst, statistician, programmer, graphic designer, traveler and street photographer. I write to expand my age.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 148 other followers

%d bloggers like this: