pengenalan regex (regular expression) di php

3

Click here to load reader

Upload: sutaji-tarnuzi

Post on 01-Dec-2015

45 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pengenalan Regex (Regular Expression) Di PHP

Pengenalan Regex (Regular Expression) di PHP09:24 06 Oct 2011 @PHP

Mungkin teman-teman yang sering atau sedang belajar mengenai pemograman di PHP, perl atau bahasa pemograman lainnya, pernah mendengar isrilah regex. Oke sekarang kita belajar mengenai regex atau Regular Expression yang ada di PHP, di sini kita akan melihat kegunaan dan contoh aplikasi regex di bahasa pemograman PHP.

Apa itu Regex?

Apa itu regex? Regex adalah kepanjangan dari Regular Expression. Biasanya regex berguna untuk pencocokan pola teks atau string, biasanya untuk manipulasi string yang lebih kompleks.

Apa aja sih guna regex dalam pemograman PHP? Ada banyak, misalnya untuk proses validasi suatu teks (contoh validasi email yang harus ada karakter @ .), untuk proses filter suatu form, misalnya, jika ada teks yang berbau porno, langsung anda blok. Untuk proses replacing, misalnya jika ada karakter :-) maka kita ganti dengan image smile, untuk pencarian kata dan masih banyak lagi.

Contoh Regex di PHP

Oke supaya lebih mengerti mari kita lihat beberapa contoh regex berikut:

Contoh 1: Mengambil kalimat dalam pola tertentu, Ini biasanya berguna jika anda ingin mengekstrak suatu halaman website dan hanya mengambil teks tertentu. Misalnya anda mau mengambil kalimat-kalimat yang terdapat di antara tag <span id='berita'> dan </span>

<?php$konten = "hai apa kabar<p><span id='berita'>Ini adalah judul berita suatu web</span>";

preg_match("/<span id='berita'>(.*)<\/span>/",$konten,$cocok);

echo $cocok[1];

Page 2: Pengenalan Regex (Regular Expression) Di PHP

?>

Output dari kode di atas adalah : Ini adalah judul berita suatu web

preg_match adalah fungsi regex di PHP, sintaksnya adalah sebagai berikut:

int preg_match ( string $pattern , string $subject [, array &$matches ] )$pattern, adalah pola string yang ingin dicari$subject, adalah teks yang akan diolah$matches, adalah hasil pencarian, $matches[0] akan menghasilkan hasil pencarian full dengan pola, sedangkan $matches[1] akan menghasilkan teks yang dicari sebagian dari parent-nya.

. (titik) artinya adalah karakter apapun kecuali \n* artinya jumlah karakternya 0 atau lebih( ) gunanya untuk penggrup-an atau mengambil teksJadi (.*) artinya mengambil teks dengan karakter apapun dan jumlahnya apapun<span id='berita'>(.*)<\/span> artinya cari kalimat dengan pola ada teks <span id='berita'>tulisan apapun di sini</span>

Contoh 2: Validasi Teks, kita akan menvalidasi apakah teks tersebut adalah format suatu email,

<?php$email1 = "[email protected]";

$email2 = "desriza@drz";

if(preg_match("/\w+@\w+\.[a-zA-Z]+/i",$email1)){

echo "Pola email benar";}else{ echo "Pola email salah";}

echo "<p>";if(preg_match("/\w+@\w+\.[a-zA-Z]+/i",$email2)){ echo "Pola email benar";

}else{ echo "Pola email salah";}?>

Keterangan:\w artinya karakter huruf dan angka[a-zA-Z] artinya karakter huruf saja, baik huruf kecil atau besar

Contoh 3: Validasi teks, mengecek apakah suatu teks mengandung karakter selain angka

<?php$teks = "012365";

if(preg_match("/[^0-9]/",$teks)){

Page 3: Pengenalan Regex (Regular Expression) Di PHP

echo "ada karakter selain angka";}else{

echo "Ok mantap, hanya angka";}?>

Keterangan:[^0-9] artinya bukan karakter angka[0-9] artinya karakter angka

Nah kode-kode karakter untuk regex di atas namanya adalah meta-characters, tulisan selanjutnya kita akan mengenal lebih jauh apa saja kode-kode met-characters untuk regex, fungsinya dan contoh-contohnya.