Parsing XML Bing Images ke PHP

Parsing XML Bing Images ke PHP masih menggunakan fungsi php simplexml_load_file untuk merender halaman pencarian gambar Bing search engine.

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:

<?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=&#39;'.$imagebing->thumbnail{1}->url.'&#39;" onmouseout="this.src=&#39;'.$imagebing->thumbnail{0}->url.'&#39;"/>';
  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).

Bing Search Images
Contoh tampilan Bing Search Images
$imagebing->height : ukuran tinggi 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'].

UPDATE 21-07-2015
Format XML Bing ini sudah tidak berlaku, silahkan merujuk pada Bing API versi 2 atau yang terbaru di sini https://www.jevuska.com/2015/07/21/bing-search-image-api-azure-format-json-php/


 Bagikan

Author: Jevuska

Rachmanuddin Chair Yahya a.k.a Jevuska is the founder of Jevuska.Com, a qualified web about offering medical articles, blogging, tips, and tutorial of WordPress. Having written for Jevuska since 2007.

16 thoughts on “Parsing XML Bing Images ke PHP”

  1. mas jev, request untuk dapat hasil dari bing.com video :)

    seperti ini mas,

    $url = ‘http://www.bing.com/videos/search?q=’.$katakunci.

    saya cuma mau generate title hasil search aja, mau dibuat related artikel gitu dari bing video.

    misal katakunci nya “ariel peterpan”

    yang keluar :

    title = ariel peterpan aku menunggumu

    lalu kita jadikan url = domainkita.com/ariel-peterpan-aku-menunggumu

Leave a Reply

Your email address will not be published. Required fields are marked *

Use tag [php] to add code, e.g. [php]<?php echo $var; ?>[/php]