Sabtu, 24 Mei 2008

Mengambil Pola Teks

Sering sekali kita berhubungan dengan input atau data yang berhubungan dengan teks dan berkepentingan untuk mengambil sebagian dari teks tersebut berdasarkan suatu pola. Bagaimana kita melakukan hal tersebut ? Salah satu cara paling efisien adalah dengan menggunakan fungsi preg_match() seperti yang akan saya jelaskan di bawah ini.

Fungsi preg_match()

Fungsi preg_match() adalah fungsi yang digunakkan untuk mencari suatu pola di dalam subjek teks ktia dengan menggunakan regular expression.

Sintaks dasarnya adalah sebagai berikut:

int preg_match ( string pattern, string subject [, array &matches [, int flags [, int offset]]] )

tapi untuk penyederhanaan maka sintaks berikut adalah yang akan kita gunakan :

int preg_match ( string pattern, string subject [, array &matches] )

Dimana :
  • pattern adalah definisi pola dalam regex yang ingin kita cocokkan dengan subjek kita
  • subject adalah subjek teks yang akan kita cocokkan
  • matches adalah array tempat menyimpan hasil pencocokan teks dengan pola regex yang telah kita definisikan. Ini adalah parameter optional (boleh ada atau tidak).
Contoh Kasus

Misalkan kita memiliki suatu urutan teks sebagai berikut :

Nama=PHP;Website=http://www.komputasiawan.com;Komentar=Belajar Regex itu sangat berguna, terutama untuk pengolahan teks;Topik=Pengolahan Teks;

Dari untaian teks tersebut saya ingin mengambil url website yang terdapat di dalamnya, yaitu http://www.komputasiawan.com. Bagaimana caranya ?

Pertama kita tentukan pola regex yang pas untuk mengambil nilai dari entri Website, yaitu :

Website=(.+?);

Setelah itu kita masukkan sebagai parameter pertama fungsi preg_match() dengan diapit beberapa karakter khusus sebagai pengapit pola regex (/,@, &, dsbnya).

Contoh code-nya adalah sebagai berikut :


<?php
$teks = "Nama=PHP;Website=http://www.komputasiawan.com;Komentar=Belajar Regex itu sangat berguna, terutama untuk pengolahan teks;Topik=Pengolahan Teks;";

$pola = "&Website=(.+?);&";

$hasil_arr = array();
$hasil_akhir = "";

preg_match($pola, $teks, $hasil_arr);
$hasil_akhir = $hasil_arr[1];

echo "<pre>";
print_r($hasil_arr);

echo "URL website = $hasil_akhir";
echo "</pre>";
?>


Dan berikut adalah hasil yang didapatkan :


Array
(
[0] => Website=http://www.komputasiawan.com;
[1] => http://www.komputasiawan.com
)
URL website = http://www.komputasiawan.com


Sederhana bukan ?

Penutup

Penggunaan pola regular expression (regex) di PHP dengan menggunakan fungsi preg_match() sangat berguna untuk mengolah teks sederhana sampai dengan yang kompleks. Hal yang perlu kita kuasai adalah pengetahuan mengenai regex itu sendiri.

Demikian artikel ini dibuat, semoga dapat berguna. Nantikan artikel selanjutnya.

CURL di PHP

CURL dan PHP

CURL adalah suatu command line tool yang sangat terkenal. CURL memungkinkan kita melakukan komunikasi langsung dengan berbagai protokol terkenal di internet.

CURL mendukung protokol seperti FTP (File Transfer Protocol), FTPS (FTP/SSL), HTTP (Hyper Text Transfer Protocol), HTTPS (HTTP/SSL), SCP (Secure Copy Protocol), SFTP (Secure FTP), TFTP (Trivial FTP), Telnet, dan sebagainya. Untuk lengkapnya mengenai CURL dapat dilihat di website CURL.

Sering sekali kita sebagai programmer PHP ingin menggunakan protokol-protokol ini secara customized dan belum ada library PHP yang mendukungnya. Untuk itu modul curl/libcurl adalah solusi yang paling cocok untuk kita.

Setting CURL untuk Web

Untuk mengaktifkan curl pada distribusi PHP kita maka perlu kita pastikan bahwa library curl sudah ada dan kita perlu edit php.ini. Pada contoh saya, setting CURL yang akan saya tunjukkan di bawah ini menggunakan distribusi php dari paket XAMPP windows. Asumsi bahwa distribusi XAMPP terinstall di folder c:\xampp.

Edit file php.ini yang terdapat pada direktori C:\xampp\apache\bin\php.ini dan cari baris dengan entri seperti di bawah ini :

;extension=php_curl.dll

dan hilangkan tanda titik koma di depannya sehingga menjadi :

extension=php_curl.dll

Setelah diubah, simpan file tersebut dan restart server web Anda.

Tes Konfigurasi Anda

Tes di konfigurasi curl Anda dengan php_info() function dan lihat apakah modul curl sudah di-load dengan baik. Apabila modul tersebut sudah aktif maka pada informasi php_info() akan terlihat baris seperti pada gambar di bawah.



Contoh Penggunaan

Berikut adalah contoh penggunaan curl di dalam script PHP. Ketik code di bawah ini dan coba eksekusi, script ini akan membuka situs Yahoo dengan tampilan seperti pada gambar di bawah.


<?php
$ch = curl_init();

curl_setopt ($ch, CURLOPT_URL, "http://www.yahoo.com/");
curl_setopt ($ch, CURLOPT_HEADER, 0);

curl_exec ($ch);

curl_close ($ch);
?>



Untuk penggunaan contoh lainnya yang sangat beragam - contohnya seperti posting di blogger, bagaimana menggunakan fungsi callback, dan lain-lain - dapat dilihat di situs curl sendiri.

php.ini di XAMPP 1.6.2

Sering sekali pada saat kita melakukan kesalahan atau bingung pada saat konfigurasi php.ini di XAMPP. Hal ini disebabkan ada beberapa php.ini yang tersebar di beberapa folder XAMPP, mana yang digunakan ?

PHP sebagai Module PHP

Untuk melakukan pengecekan php.ini yang digunakan pada modul Apache cukup gampang, kita cukup menggunakan informasi dari fungsi php_info() dan melihat isi dari entri Loaded Configuration File.

Untuk xampp, coba jalankan server Apache dan ketik pada browser http://localhost/xampp/index.php, hasilnya terlihat seperti gambar di bawah ini (klik gambar untuk melihat ukuran sebenarnya).



Pada gambar terlihat entri Loaded Configuration FIle menunjuk ke c:\xampp\apache\bin\php.ini, inilah lokasi file php.ini yang yang dikenali dan digunakan oleh Apache web server di XAMPP.
Penggunaan php.ini di Interpreter Command Line

Selain sebagai modul Apache, php tentu saja bisa digunakan sebagai interpreter di command line atau terminal. Untuk ini php.ini yang dikenali adalah yang berada pada folder yang sama dengan program php.exe.

Sebagai contoh, instalasi XAMPP di sisi saya adalah di C:\xampp\php maka php.ini yang dikenali di sini adalah c:\xampp\php\php.ini. Apabila belum ada terdapat file php.ini di folder ini, maka carilah file php.ini-dist dan diubah namanya menjadi php.ini.

Demikian tips ini saya buat, semoga bisa berguna. Untuk saran, kritik dan pertanyaan dapat diajukan melalui comment di bawah atau kirimkan email ke pintarphp@komputasiawan.com.