Loading...
PHP Javascript Ajax jQuery Tutorial Indonesia
  Desrizal
Mencoba berbagi ilmu yang sedikit dimiliki ini...
Home | PHP Manual Indonesia | Javascript Guide | eBook Ajax jQuery | Codingwear Store | About Me
Search in blog.codingwear.com :

Pengenalan Regex (Regular Expression) di PHP

09: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.

regex di 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:

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 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,

<?php
$email1 = "desrizal@yahoo.co.id";

$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)){
    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.

Tags: Regex


Tulisan Lainnya
  1. Membuat Thumbnail dengan PHP dengan Cara Resize dan Crop Image
  2. Cara Koneksi PHP ke Database MS Access 2010
  3. Pengenalan Regex (Regular Expression) di PHP
  4. Captcha Sepakbola
  5. Membuat Sendiri Captcha Kuis Matematika Menggunakan Session PHP
  6. Membuat Sendiri Tombol Share dan Bookmark
  7. Tutorial URL Rewriting dengan .htaccess dan Penerapannya (Contoh Membuat Blog atau Situs Berita)
  8. Membuat Report Format MS Excel (Excel Formatting dan Multi Sheet) Menggunakan PHP, MySQL dan XML
  9. Panduan Lengkap dan Tutorial PHP MySQL Indonesia Untuk Pemula
  10. Membuat File Manager Pada Server Hosting Dengan PHP

Komentar

#1 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
<?php

$teks = "kunjungi website http://www.codingwear.com dan http://code.google.com";

$t = preg_replace("/((?:https?|ftp):\/\/\S+[[:alnum:]]\/?)/si","<a href=\"$0\">$0</a>",$teks);

echo $t;
?>

#3 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(&nbsp,&lt,&gt dll) di mysql,,,,saya dapat coba tapi tidak bisa,,,
saya coba yang json pada postingan anda ttg chat tidk bisa dibaca &nbsp...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

Komentar
Nama :
Email :
Web :
Komentar :
Captcha Sepakbola
Apakah anda manusia?Lebih baik lagi kalau anda menyukai sepak bola
Sebutkan pemain sepak bola disamping:

Captcha Sepakbola by codingwear


CodingWear merupakan baju kaos keren, baju kaos unik buat para programmer, praktisi IT, pecinta coding

Subscribe in a reader

Follow codingwear on Twitter


Jendela Riau


Blogger Bertuah
Web Development
Book

Designed & Programmed by Desrizal
Copyright (c) 2010