
Ahmad Susanto - Walaupun sakit tapi admin tetap semangat ngeblog, Mohon doa nya teman-teman agar admin sembuh dari penyakit TB Paru, Seminggu lagi admin mau test dahak tahap 2 karena sudah 2 bulan minum obat, Semoga (-) Negatif lah, biar tidak di suntik sebanyak 64 Kali.
Baca Juga: Belajar Ngegrab Bagian 2: Mengubah & Menghapus String Dengan Str_replace
Ini adalah bagian penting untuk ngegrab situs orang, Masa iya kita nampilin website seluruhnya dari situs orang..?? lebih baik tidak usah repot repot pakai PHP. Mending pakai iframe, Wkkk.
Mencari atau mengambil sebagian string, Kali ini admin menjelaskannya secara penggunaannya, Tidak usah pakai contoh pengambilan string dari situs orang lain, Biar admin tidak repot, Admin akan menggunakan fungsi preg_match_all().
Ini adalah rumusnya:
preg_match_all("/string awal(.*?)string akhir/i", $target, $perantara);
echo $perantara[1][0];
Penjelasan: String Awal adalah kata darimana kita akan memulai mengambil string, string akhir adalah batas akhir kita mengambil kata, dan garis miring di awal dan di akhir tidak boleh di hapus, $target adalah variable yang ingin kita ambil string nya, sedangkan $perantara adalah variable hasil, jadi preg_match_all ini adalah fungsi kusus dan tidak bisa di taruh di dalam variable.
Fungsi ini mengandung array untuk menampilkan string, Contoh kode:
$target = '<ul><li>Santo</li><li>Demak</li><li>Dokter</li><li>Maling</li></ul>';
preg_match_all('/<li>(.*?)</li>/i', $target, $perantara);
// Menampilkan hasil
echo $perantara[1][0];
Contoh hasil:
santoPenjelasan: Mengapa setelah $perantara saat menampilkan menggunakan [angka].? karena preg_match_all mencari string dengab model array, Ini mirip menjadikan string target menjadi array, berikut penjelasannya menggunakN [angka].
$perantara[1];
"Menampilkan string yang di cari dengan membuang string yang di sebelum (.*?) dan setelahnya.
$perantara[0];
"Menampilkan string yang di cari dengan termasuk string yang kita masukkan sebelum (.*?) dan setelahnya.
Untuk menampilkan kita gunakan [angka] lagi, contoh: $perantara[1][0];
Contoh lagi pemirsa:
$target = '<ul><li>Santo</li><li>Demak</li><li>Dokter</li><li>Maling</li></ul>';
preg_match_all('/<li>(.*?)</li>/i', $target, $perantara);
// Menampilkan hasil hanya string di dalam (.*?)
echo 'nama: '.$perantara[1][0];
echo ', Kota: '.$perantara[1][1];
echo ', Cita cita: '.$perantara[1][2];
echo ', Pekerjaan : '.$perantara[1][3];
nah jelas kan, Mengapa di mulai dari nol: [1][0] (Perhatikan yang tevbal, Karena di PHP memang begitu urutan di mulai dari nol. Hasil dari kode di atas:
Nama: Santo, Kota: Demak, Cita-cita: Dokter, Pekerjaan: MalingLalu bagaimana kalo yg ingin di tampilkan banyak?? repot dong??. Tenang kita pakai perulangan saja berikut gan:
MENAMPILKAN HASIL PREG_MATCH_ALL DENGAN FOR/FORREACH (Fungsi Perulangan)
Jika ingin menampilkan list file situs biasanya kita menggunakan fungsi ini biar kita bisa mengatur tampilan list file nya... Bagaimana caranya..?? langsung gan, Soalnya artikel setelah ini kita akan belajar membuat project grab, Terus ikuti blog ini sob.Baca Juga: Belajar PHP: Fungsi Explode dan Implode
Langsung saja ah biar halaman post ini nggak panjang lebar, Males jelasinnya langsung praktek aja gan, Kebanyakan teori gak bakal bikin kita pinter.
Contoh penggunaan FOR:
$target = '<ul><li>Satu</li><li>Dua</li><li>Tiga</li><li>Empat</li><li>Lima</li><li>enam</li></ul>';
preg_match_all('/<li>(.*?)</li>/i', $target, $perantara);
// Menampilkan hasil hanya string di dalam (.*?)
for ($i=0; $i <6; $i++)
{
echo 'Crot: '.$perantara[1][$i];
echo '<br/>';
}
Penjelasan: Perintah di atas menampilkan dengan perintah array 0 sampai kurang dari 6 (0,1,2,3,4,5,6), atau $perantar[1][0], $perantar[1][1], $perantar[1][2], $perantar[1][3], dst... Hasilnya:
Crot: Satu
Crot: Dua
Crot: Tiga
Crot: Empat
Crot: Lima
Crot: Enam
Jelas..??, Atau kita menggunakan forreach, Tapi forreach ini sifatnya tak terbatas, Kita tidak bisa mengatur urutan darimana ke urutan berapa, Soalnya admin belum mempelajari fungsi ini secara terperinci. Contoh gan:
$target = '<ul><li>Satu</li><li>Dua</li><li>Tiga</li><li>Empat</li><li>Lima</li><li>enam</li></ul>';
preg_match_all('/<li>(.*?)</li>/i', $target, $perantara);
// Menampilkan hasil hanya string di dalam (.*?)
foreach ($perantara[1] as $ikeh)
{
echo 'Crot: '.$ikeh;
echo '<br/>';
}
Hasilnya akan sama seperti ini:
Crot: Satu
Crot: Dua
Crot: Tiga
Crot: Empat
Crot: Lima
Crot: Enam
Gimana..?? Mudah bukan,, Kalo admin sih lebih senang pakai yang forreach soalnya simple gan...
Pahami betul fungsi fungsi yang admin share di bagian tag belajar ngegrab ini untuk belajar membangun situs grab sendiri, Untuk penggunaan API, Mending saudara cari di google "Cara Menampilkab Json dengan PHP"
Terikasih sudah membaca artikel yang panjang ini.. :v Lain kali atau mungkin besok admin akan share project ngegrab, Silahkan request project apa yang ingin admin share, Contoh:
- Mengambil kontent situs blablabla.wapka.me
- Membuat widget "Artikel Terbaru di nextwapblog"
- Menampilkam list kontent blog nwb orang
- Dan lain-lain
Daftar Artikel Belajar Ngegrab:
- Belajar Ngegrab bagian 1: Mengambil Kontent Situs Lain Dengan CURL
- Belajar Ngegrab Bagian 2: Mengubah & Menghapus String Dengan Str_replace
Kalo ga ada, Admin mau bikin projek ambil kontent blog admin sendiri yang satunya, Hehe.
Terimakasih,
="text-align: left;" trbidi="on">
Posting Komentar untuk "Belajar Ngegrab Bagian 3: Mencari String Dengan Regex dan Melakukan Perulangan"