Section Artikel
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
Parameter | Description |
---|---|
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. PREG_SET_ORDER – Setiap elemen dalam kecocokan array yang berisi kecocokan dari semua pengelompokan untuk salah satu kecocokan yang ditemukan dalam string. 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. 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 |
Technical Details
Detail Teknis
Return Value: | Mengembalikan jumlah kecocokan yang ditemukan atau false jika terjadi kesalahan |
---|---|
PHP Version: | 4+ |
Changelog: | 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 )