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];
?>
Output dari kode di atas adalah : Ini adalah judul berita
suatu web
preg_match adalah fungsi regex di PHP, sintaksnya
adalah sebagai berikut:
intpreg_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
teks
Jadi (.*) 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,
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)){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.
Dari : Fuad Indra Setiawan (10:12 07 Oct 2011) Web : http://fuadsetiawan.blogspot.com pertamax....mas mau tanya lo yg generate link kaya di facebook...misal kita inputkan nama web aja ,,trus langsung jd link itu gmn ya...kaya di twitter jg..lo ada @nama rus langsung jd link..
#2
Dari : Desrizal (13:29 12 Oct 2011) Web : http://blog.codingwear.com
Dari : fuad indra setiawan (11:08 13 Oct 2011) Web : http://fuadsetiawan.blogspot.com ok mas segera dicoba..terima kasih banyak.. :-)
#4
Dari : candra ikhsan (10:32 16 Oct 2011) Web : http://mangacan.blogspot.com/ trik mengakali kode chapta codingwear upsss, hahhaa maaf mas bro kasian kan yang ingin komen tapi ga tau siapa nama pemain bola itu :), to the point aja...
dia memakai kondisi pk nya dari nama gambar...namapemainbola.jpg, ente klik kanan aja save as, nanti ketauan siapa namanya, dah dapat kan baru deh isi kan di kode chapter, sekian dan terima kasih ^^
#5
Dari : Desrizal (16:06 16 Oct 2011) Web : http://blog.codingwear.com Kan sudah ada tulisan nama pemainnya di gambar, itu yang ditulis..
#6
Dari : suhendra (17:45 25 Oct 2011) Web : http://citstudio.com mas, ada contoh untuk mengambil data hasil dari hasil query pencarian ticketing ??
anyway, capctha-nya keren mas,
boleh minta ga ??
#7
Dari : thealam (16:29 29 Oct 2011) Web : http://alamzone.tk Sangat bermanfaat Mas. Terima kasih infonya
#8
Dari : gx tw (15:21 15 Nov 2011) Web : - asfgasfasf
#9
Dari : moke (23:11 01 Dec 2011) Web : http://studentsite-softskill.blogspot.com mkasi mas tutornya .. :D
#10
Dari : aku (23:49 03 Jan 2012) Web : http://hafidmuhammad.blogspot.com mas validasi jumlah pembelian barang gimana???
misalnya mau beli barang 2 pas lgi input ke isi -2 kalau pake validasi kan pas di enter langsung 2,, gmna script nya mas??? makasih
#11
Dari : kurniawan (09:47 17 Jan 2012) Web : - Terima kasih banyak atas tutorial tentang Regex. Tapi saya ingin memahami teori dasarnya.
#12
Dari : engga (00:22 14 Feb 2012) Web : - oy mas, regex ini seperti di htaccess yah????
#13
Dari : Septia Mujizat (09:59 24 Mar 2012) Web : http://septia-mujizat.blogspot.com Keren gan, ane banyak belajar disini
#14
Dari : edi (18:46 06 Apr 2012) Web : http://5tracert.blogspot.com mas...mau tanya .....
kalau untuk cek validasi penulisan format fungsi di php (format Function).....gimana regex nya ......??????????
#15
Dari : Atho (11:51 13 Apr 2012) Web : http://coding-web88.blogspot.com Mohon ijin Share di blog [coding-web88.blogspot.com]
#16
Dari : sudiatmika (19:30 15 Apr 2012) Web : - pak dezrizal mau tanya, bagaimana caranya agar textarea pada PHP bisa membaca dan menyimpan kode( ,<,> dll) di mysql,,,,saya dapat coba tapi tidak bisa,,,
saya coba yang json pada postingan anda ttg chat tidk bisa dibaca  ...mohon bantuannya...
#17
Dari : sudiatmika (08:58 16 Apr 2012) Web : - nah agar seperti input komentar di web ini pak???
<br>
#18
Dari : bambang (13:51 28 Apr 2012) Web : http://tolongbelanja.com salam kenal mas coding wear..
pengen belajar ngoding sendiri tapi saya g tau harus mulai dari mana....
#19
Dari : Gema (15:53 13 Jun 2012) Web : http://gema-tkj1.blogspot.com Makasih gan, jadi lebih tau tentang REGEX
#20
Dari : rz (16:38 24 Jul 2012) Web : - tesss <br />
sjscnajcjbchs
#21
Dari : op (15:31 30 Oct 2012) Web : http://google.com hello mas .. bisa jelasin
yang ini ga --> /\w+@\w+\
sebelumnya terima kasih mas..
btw .. captcha masih bisa bisa bypass !! =))
#22
Dari : Faranisa Dyah (15:52 02 Mar 2013) Web : http://website.development.name Mas mau tanya, kalau yang ini
preg_match("/<span id='berita'>(.*)<\/span>/",$konten,$cocok);
Kan untuk mengambil dari <span> sampai </span>
Nah, (.*) ini untuk isi didalam kan? yang q bingung, kenapa dengan karakter (.*) dan bisa di implementasikan di mana saja mas?
terimakasih