Definisi dan Penggunaan
Fungsi preg_match() digunakan untuk dapat mengembalikan apakah kecocokan ditemukan dalam string.
Syntax
preg_match(pattern, input, matches, flags, offset)
Nilai Parameter
pattern | Required. Berisi ekspresi reguler yang menunjukkan apa yang harus dicari |
input | Required. String tempat pencarian akan dilakukan |
matches | Optional. Variabel yang digunakan dalam parameter ini akan diisi dengan array yang berisi semua kecocokan yang ditemukan |
flags | Optional. Serangkaian opsi yang mengubah cara susunan array terstruktur: PREG_OFFSET_CAPTURE – Jika opsi ini diaktifkan, setiap kecocokan, daripada menjadi string, maka akan menjadi array di mana elemen pertama adalah substring yang berisi kecocokan dan elemen kedua adalah posisi karakter pertama substring di input. PREG_UNMATCHED_AS_NULL – Jika opsi ini diaktifkan, subpola yang tidak cocok akan dikembalikan sebagai NULL, bukan sebagai string kosong. |
offset | Optional. Default-nya 0. Menunjukkan seberapa jauh ke dalam string untuk mulai mencari. Fungsi preg_match() tidak akan menemukan kecocokan yang terjadi sebelum posisi yang diberikan dalam parameter ini |
Detail Teknis
Mengembalikan 1 jika kecocokan ditemukan, 0 jika tidak ada kecocokan yang ditemukan dan false jika terjadi kesalahan |
4+ |
PHP 7.2 – Menambahkan tanda PREG_UNMATCHED_AS_NULL PHP 5.3.6 – Fungsi mengembalikan nilai false ketika offset lebih panjang dari panjang input PHP 5.2.2 – Subpattern bernama dapat menggunakan sintaks (?’name’) dan (? <name> ) selain sintaks sebelumnya (?P<name> ) |
Contoh 1
Gunakan ekspresi reguler untuk melakukan penelusuran tidak peka huruf besar kecil(case-sensitive) untuk “dosenit” dalam sebuah string:
<?php $str = "Visit DosenIT"; $pattern = "/dosenit/i"; echo preg_match($pattern, $str); ?> // Output : 1
Contoh 2
Gunakan PREG_OFFSET_CAPTURE untuk menemukan posisi dalam string masukan di mana kecocokan ditemukan:
<?php $str = "Selamat Datang di DosenIT"; $pattern = "/dosenit/i"; preg_match($pattern, $str, $matches, PREG_OFFSET_CAPTURE); print_r($matches); ?> // Output : Array ( [0] => Array ( [0] => DosenIT [1] => 19 ) )
Definisi dan Penggunaan
Fungsi preg_match_all() digunakan untuk mengembalikan jumlah kecocokan pola yang ditemukan dalam string dan mengisi variabel dengan kecocokan yang ditemukan.
Syntax
preg_match_all(pattern, input, matches, flags, offset)
Nilai Parameter
pattern | Required. Berisi ekspresi reguler yang menunjukkan apa yang harus dicari |
input | Required. String tempat pencarian akan dilakukan |
matches | Optional. Variabel yang digunakan dalam parameter ini akan diisi dengan array yang berisi semua kecocokan yang ditemukan |
flags | Optional. Seperangkat opsi yang mengubah bagaimana array matches disusun. Salah satu dari struktur berikut dapat dipilih: PREG_PATTERN_ORDER – Default. Setiap elemen dalam larik kecocokan adalah kecocokan array dari pengelompokan yang sama dalam ekspresi reguler, dengan indeks 0 terkait dengan kecocokan seluruh ekspresi dan indeks yang tersisa untuk kecocokan subpola. Sejumlah opsi berikut dapat diterapkan: PREG_OFFSET_CAPTURE – Jika opsi ini diaktifkan, setiap kecocokan, alih-alih string, akan menjadi array di mana elemen pertama adalah substring yang berisi kecocokan dan elemen kedua adalah posisi karakter pertama substring di input. |
offset | Optional. Default-nya 0. Menunjukkan seberapa jauh ke dalam string untuk mulai mencari. Fungsi preg_match() tidak akan menemukan kecocokan yang terjadi sebelum posisi yang diberikan dalam parameter ini |
Technical Details
Detail Teknis
Mengembalikan jumlah kecocokan yang ditemukan atau false jika terjadi kesalahan |
4+ |
PHP 7.2 – Menambahkan tanda PREG_UNMATCHED_AS_NULL PHP 5.4 – Parameter matches menjadi opsional PHP 5.3.6 – Fungsi mengembalikan nilai false ketika offset lebih panjang dari panjang input PHP 5.2.2 – Subpattern bernama dapat menggunakan sintaks (?’name’) dan (?<name> ) selain sintaks sebelumnya (?P<name> ) |
Contoh 1
Temukan semua kemunculan “ain” dalam string:
<?php $str = "The rain in SPAIN falls mainly on the plains."; $pattern = "/ain/i"; if(preg_match_all($pattern, $str, $matches)) { print_r($matches); } ?> /* Output : Array ( [0] => Array ( [0] => ain [1] => AIN [2] => ain [3] => ain ) )
Contoh 2
Gunakan PREG_PATTERN_ORDER untuk menyetel struktur kecocokan array . Dalam contoh ini, setiap elemen dalam kecocokan array memiliki semua kecocokan untuk salah satu pengelompokan ekspresi reguler.
<?php $str = "jkl JKL"; $pattern = "/((j)k)(l)/i"; if(preg_match_all($pattern, $str, $matches, PREG_PATTERN_ORDER)) { print_r($matches); } ?> /* Output : Array ( [0] => Array ( [0] => jkl [1] => JKL ) [1] => Array ( [0] => jk [1] => JK ) [2] => Array ( [0] => j [1] => J ) [3] => Array ( [0] => l [1] => L )