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=&#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’].

Tinggalkan Komentar