Parsing XML Bing Images ke PHP
Seperti halnya Parsing RSS Bing Search Result ke PHP, untuk Parsing XML Bing Images ke PHP masih menggunakan fungsi php simplexml_load_file untuk merender halaman pencarian gambar Bing search engine.
Berikut kode parsing XML Bing Images ke PHP untuk blog WordPress:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | <?php //function untuk konversi Byte ke KB/MB gambar function KByteSize($bytes) { $size = $bytes / 1024; if($size < 1024) { $size = number_format($size, 2); $size .= ' KB'; } else { if($size / 1024 < 1024) { $size = number_format($size / 1024, 2); $size .= ' MB'; } else if ($size / 1024 / 1024 < 1024) { $size = number_format($size / 1024 / 1024, 2); $size .= ' GB'; } } return $size; } ?> <?php //eksekusi kata kunci $bingimagequery = urlencode(get_search_query()); //jumlah gambar maksimal yang tampil (max 30) $bingimagecount = 10; //parsing xml Bing images $xmlbingimage = simplexml_load_file('http://www.bing.com/images/search?q='.$bingimagequery.'&count='.$bingimagecount.'&format=xml'); foreach ($xmlbingimage->section->documentset->document as $imagebing) { //menampilkan gambar kecil dan sedang dengan eksternal link ke halaman bing image echo '<a rel="nofollow" target="_blank" href="http://www.bing.com/images/search?q='.urlencode($bingimagequery).'&view=detail&id='.$imagebing->id.'">'; echo '<img src="'.$imagebing->thumbnail{0}->url.'" onmouseover="this.src=''.$imagebing->thumbnail{1}->url.''" onmouseout="this.src=''.$imagebing->thumbnail{0}->url.''"/>'; echo '</a>'; //menampilkan judul gambar yang di substrak jumlah karakternya menjadi 35 karakter echo '<p><b>'.substr($imagebing->title, 0, 35).' ...</b><br>'; //menampilkan host gambar preg_match('@^(?:http://)?([^/]+)@i',"$imagebing->displayurl", $matchurlbing); echo '<span style="color:#388222">'.$matchurlbing[1].'</span><br>'; //menampilkan ukuran lebar dan tinggi gambar echo '<small><span style="color:#898994">'.$imagebing->width.' x '.$imagebing->height.' - '; //menampilkan ukuran file gambar echo KByteSize($imagebing->mediafilesize).' - '; //menampilkan format file gambar echo $imagebing->thumbnail{0}->format = str_replace('image/','',($imagebing->thumbnail{0}->format) ).'</span><br>'; //menampilkan link yang menuju url gambar ukuran aslinya echo '<a rel="nofollow" target="_blank" href="'.$imagebing->mediaurl.'">See full size image</a> - '; //menampilkan url ke bing untuk melihat ukuran gambar lainnya echo '<a rel="nofollow" target="_blank" href="http://www.bing.com/images/search?q='.urlencode($bingimagequery).'&cbir=ms&mid='.$imagebing->id.'">More Sizes</a></small><br>'; //menampilkan url/link sumber halaman gambar echo 'IMAGE SOURCE PAGE: <a rel="nofollow" target="_blank" href="'.$imagebing->url.'">'.substr($imagebing->url, 0, 35).' ...</a></p>'; } //jika gambar tidak ada, tampil pesan Not Found if (empty($imagebing)) { echo '<small>Not Found</small>'; } ?> |
Atribut Elemen
http://www.bing.com/images/search?q=‘.$bingimagequery.’&count=‘.$bingimagecount.’&format=xml : url XML BING Images.
$imagebing->title : untuk menampilkan judul gambar.
$imagebing->url : menampilkan url/link sumber halaman gambar.
$imagebing->id : ID gambar.
$imagebing->width : ukuran lebar gambar (pixel).
$imagebing->mediafilesize : ukuran file gambar (bytes).
$imagebing->thumbnail{0}->format : format file gambar (jpeg).
$imagebing->mediaurl : url gambar untuk ukuran aslinya/full size/gambar besar.
$imagebing->thumbnail{0}->url : untuk menampilkan gambar kecil.
$imagebing->thumbnail{1}->url : untuk menampilkan gambar sedang.
Jika ingin menggunakan paramater query lainnya, contoh http://www.domain.ltd/?q=lady+gaga atau http://www.domain.ltd/?search=lady+gaga, Anda bisa mengganti kode get_search_query() menjadi $_GET['q'] atau $_GET['search'].
