Generally parsing is converting one data type to another. It means how we can convert various data types to HTML. For example: Converting string to HTML. Show Why do we need parsing? To add the dynamic data (HTML content) at a certain point in PHP code, we need parsing. For example: For adding the data (info) in the form of HTML, we need to make that dynamic template in string and then convert it to HTML.
Disini kita akan belajar cara untuk mengambil konten dari situs lain, pada contoh kasus ini kita mengambil data kurs dari situs HSBC Indonesia. Script lengkapnya bisa anda download dibawah 1. Parsing HTMLUntuk mem-parsing HTML dari halaman web yang akan di download, kita akan menggunakan bantuan PHP Simple HTML DOM Parser. Bila anda ingin menggunakan parser DOM bawaan PHP bisa dilihat di PHP DOM MANUAL. Untuk memudahkan pemula disini kita menggunakan PHP Simple HTML DOM Parser. 2.Sekilas InfoLink Kurs HSBC ada di https://www.hsbc.co.id/1/2/id/personal/foreign-exchange/real-time-fx-rates. Untuk mengetahui bagian mana yang akan kita ambil, view source website tersebut. Singkat cerita HSBC menyimpan data kursnya di variabel javascript, jadi semakin mudah untuk diolah. yang perlu di ingat dalam parsing data dari website adalah dari mana awalnya kita akan mengambil data, dan dimana akhir dari data yang akan kita ambil. Kalo menggunakan tabel (table) HTML biasanya kita akan mengambil data diantara <table> </table> karena disini tidak menggunakan tabel, maka kita akan mengambil mulai dari 3.Script Lengkap<?php include_once 'simple_html_dom.php'; function ambilURL($url) { $curl = curl_init(); curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36"); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $hasil = curl_exec($curl); $curl_error = curl_error($curl); $status = curl_getinfo($curl, CURLINFO_HTTP_CODE); curl_close($curl); return $hasil; } $urlBank = ambilURL('https://www.hsbc.co.id/1/2/id/personal/foreign-exchange/real-time-fx-rates'); $html = str_get_html($urlBank); $pecahAwal = explode('var FXRATES =', $html); $pecahAkhir = explode(';', $pecahAwal[1]); preg_match_all("/\[([^\]]*)\]/", $pecahAkhir[0], $output_array); $data = $output_array[1]; $kurs = array(); foreach ($data as $key => $value) { $pecah = explode(',', $value); $kurs[] = preg_replace("/[^A-Za-z0-9]/", '', $pecah); } var_dump($kurs); hasil dari perintah diatas array(11) { [0]=> array(3) { [0]=> string(3) "USD" [1]=> string(5) "13460" [2]=> string(5) "14060" } [1]=> array(3) { [0]=> string(3) "AUD" [1]=> string(5) "10324" [2]=> string(5) "10857" } [2]=> array(3) { [0]=> string(3) "GBP" [1]=> string(5) "18813" [2]=> string(5) "19745" } [3]=> array(3) { [0]=> string(3) "HKD" [1]=> string(4) "1715" [2]=> string(4) "1793" } [4]=> array(3) { [0]=> string(3) "EUR" [1]=> string(5) "16464" [2]=> string(5) "17267" } [5]=> array(3) { [0]=> string(3) "JPY" [1]=> string(3) "126" [2]=> string(3) "132" } [6]=> array(3) { [0]=> string(3) "SGD" [1]=> string(5) "10188" [2]=> string(5) "10677" } [7]=> array(3) { [0]=> string(3) "CHF" [1]=> string(5) "14056" [2]=> string(5) "14747" } [8]=> array(3) { [0]=> string(3) "CAD" [1]=> string(5) "10285" [2]=> string(5) "10801" } [9]=> array(3) { [0]=> string(3) "NZD" [1]=> string(4) "9636" [2]=> string(5) "10136" } [10]=> array(3) { [0]=> string(3) "RMB" [1]=> string(4) "2124" [2]=> string(4) "2222" } } karena data kurs sudah dalam bentuk array, tinggal pilih mau di simpan ke database atau di tampilkan kedalam tabel ataupun pilihan lainnya. 4. Menampilkan Data Kurs kedalam Tabelhapus echo "<table border='1'> <thead> <tr> <th>KURS</th> <th>BELI</th> <th>JUAL</th> </tr> </thead> <tbody>"; foreach ($kurs as $key => $value) { echo "<tr>"; echo "<td>$value[0]</td>"; echo "<td>$value[1]</td>"; echo "<td>$value[2]</td>"; echo "<tr>"; } echo "</tbody> </table>"; cek hasilnya di browser Download “kurs-bank-hsbc.tar.gz” kurs-bank-hsbc.tar.gz – Downloaded 559 times – 14.88 KBTulisan menarik lainnya
|