Penggunaan Fungsi preg_match() di PHP

Use Preg_match Function Php



Ekspresi reguler adalah pola tertentu yang dapat digunakan untuk mencocokkan, mencari, dan mengganti string tertentu dalam data teks. Ini adalah fitur yang kuat dari bahasa pemrograman apa pun. Ini terutama digunakan untuk melakukan berbagai jenis validasi formulir, seperti memvalidasi email, memeriksa format telepon, memvalidasi bidang nama pengguna dan kata sandi dari formulir login, dll. Konten teks tertentu dapat dicari dan diganti menggunakan ekspresi reguler pola. Ini juga disebut regex atau RegExp. Berbagai jenis simbol digunakan untuk mendefinisikan pola regex.

Banyak fungsi bawaan yang ada di PHP untuk ekspresi reguler. fungsi preg_match() adalah salah satunya. Fungsi ini digunakan untuk mencocokkan pola tertentu dalam data string. Bagaimana fungsi preg_match() dapat digunakan di PHP untuk melakukan berbagai tugas dijelaskan dalam tutorial ini.







Sintaksis:

Int orSalah preg_match (rangkaian$pola,rangkaian$subjek [, Himpunan &$pertandingan = batal [,ke dalam$bendera = 0 [,ke dalam$penghapusan = 0]]])

Fungsi ini dapat mengambil lima argumen. Argumen pertama, $pola , adalah wajib, yang mendefinisikan pola untuk pencocokan. Argumen kedua, $subjek , adalah wajib, dan berisi data string di mana pola akan diterapkan. Argumen ketiga, $pertandingan , adalah opsional dan mengembalikan array berdasarkan kecocokan. Argumen keempat, $bendera , adalah opsional, yang berisi berbagai jenis nilai bendera berdasarkan kecocokan. Argumen kelima, $penghapusan , adalah opsional, dan dapat digunakan untuk menentukan posisi awal pencarian.



Contoh 1: Cocokkan pola dengan cara yang peka huruf besar-kecil dan tidak peka huruf besar-kecil

Contoh berikut menunjukkan penggunaan fungsi preg_match() untuk mencocokkan string secara case-sensitive dan case-insensitive. Buat file PHP dengan skrip berikut.



Di sini, tiga pola digunakan untuk diterapkan dalam tiga fungsi preg_match(). Pola pertama, '/Suka/', digunakan untuk mencocokkan string dengan cara yang peka huruf besar/kecil. Pola kedua, '/Suka/' , digunakan untuk mencocokkan string dengan cara yang peka huruf besar/kecil. Pola ketiga, 'Seperti saya' , digunakan untuk mencocokkan string dengan cara yang tidak peka huruf besar/kecil. pola_pencarian() fungsi didefinisikan dalam skrip untuk menggunakan fungsi preg_match() untuk pencocokan, dan ia mencetak pesan berdasarkan nilai yang dikembalikan dari fungsi ini.







//Menentukan teks

$teks = 'Saya suka PHP. Saya juga menyukai JavaScript.';

//Tentukan tiga jenis pola

$pola1 = '/Suka/';

$pola2 = '/Suka/';

$pola3 = '/Seperti saya';

//Menentukan fungsi untuk mencari pola dalam teks

fungsipola_pencarian($pola, $string)

{

jika( preg_match ($pola, $string))

dibuang 'Hasil pencarian: Kecocokan ditemukan untuk pola -$pola
'
;

lain

dibuang 'Hasil pencarian: Tidak ditemukan kecocokan untuk pola -$pola
'
;

}

//Mencetak teks asli

dibuang 'Teks aslinya adalah: $teks
'
;

//Panggil fungsi tiga kali untuk tiga pola

pola_pencarian($pola1, $teks);

pola_pencarian($pola2, $teks);

pola_pencarian($pola3, $teks);

?>

Keluaran :

Output berikut akan muncul setelah menjalankan skrip dari server. Baris pertama menunjukkan teks tempat pola-pola itu dicari. Baris kedua menunjukkan output dari pola pertama. Baris ketiga menunjukkan output dari pola kedua. Baris keempat menunjukkan output dari pola ketiga.



Contoh 2: Validasi URL

Contoh berikut menunjukkan cara untuk memvalidasi alamat URL menggunakan fungsi preg_match(). Buat file PHP dengan skrip berikut.

Nilai URL ditetapkan dalam variabel $url untuk pengujian. String ‘@^(?:https://)?([^/]+)@i’ digunakan sebagai pola dalam fungsi preg_match() untuk memeriksa apakah alamat URL valid atau tidak. Jika valid maka akan tercetak hostname dan domain name, sebaliknya akan tercetak pesan error.



//Tentukan URL

$url = 'https://www.linuxhint.com';

//Tentukan pola untuk memvalidasi URL

$pola ='@^(?:https://)?([^/]+)@i';

//Periksa URL valid atau tidak

jika( preg_match ($pola, $url, $pertandingan1))

{

//Cetak pesan sukses

dibuang 'URLnya valid.
'
;

//Mencetak array yang berisi nilai kecocokan

dibuang 'Nilai array adalah:';

print_r ($pertandingan1);

//Ambil dan cetak nilai host

$host = $pertandingan1[1];

dibuang '
Nama tuan rumah adalah:$host'
;

//Cari nama domain dari nilai host

preg_match ('/[^.-lex.europa.eu+.[^.íritu+$/', $host, $pertandingan2);

dibuang '
Nama domainnya adalah:{$matches2[0]}'
;

}

lain

{

//Cetak pesan kesalahan

dibuang 'URL tidak valid.';

}

?>

Keluaran :

Output berikut akan muncul setelah menjalankan skrip dari server. URL yang diberikan dalam skrip valid. Jadi, output menunjukkan nilai $matches, nama host URL, dan nama domain URL.

Contoh 3: Pola pencarian dengan nilai flag dan offset

Contoh berikut menunjukkan penggunaan nilai flag dan offset dalam fungsi preg_match(). Buat file PHP dengan skrip berikut.

Tiga pola digunakan dalam skrip untuk tiga jenis pencocokan. Dalam fungsi preg_match() pertama, '/(bangla)(desh)/' digunakan sebagai pola dan nilai flag, PREG_OFFSET_CAPTURE digunakan. Nilai-nilai dari $pertandingan variabel akan dicetak berdasarkan output dari fungsi preg_match() pertama. Dalam fungsi preg_match() kedua, ‘/(bangla)(glad)*(desh)/i’, digunakan sebagai pola dan nilai flag, PREG_UNMATCHED_AS_NULL digunakan. Jika ada bagian dari pola yang tidak cocok maka nilai NULL akan disimpan dalam array. Nilai-nilai dari $pertandingan variabel akan dicetak berdasarkan output dari fungsi preg_match() kedua. Dalam fungsi preg_match() ketiga, '/ glad/' digunakan sebagai pola, nilai flag, PREG_OFFSET_CAPTURE digunakan dan 3 digunakan sebagai nilai offset. Nilai-nilai dari $pertandingan variabel akan dicetak berdasarkan output dari fungsi preg_match() ketiga.



//Menentukan nilai teks

$teks = 'Bangladesh';

//Tentukan tiga jenis pola

$pola1 = '/ (bangla) (desh) / saya';

$pola2 = '/ (bangla) (senang) * (desh) / i';

$pola3 = '/senang/';


//Menggunakan tanda PREG_OFFSET_CAPTURE

preg_match ($pola1, $teks, $pertandingan,PREG_OFFSET_CAPTURE);

dibuang '
';  

print_r ($matches);

echo '

'
;

//Menggunakan tanda PREG_UNMATCHED_AS_NULL

preg_match ($pola2, $teks, $pertandingan,PREG_UNMATCHED_AS_NULL);

dibuang '
';  

print_r ($matches);

echo '

'
;

//Menggunakan tanda PREG_OFFSET_CAPTURE dan nilai offset

preg_match ($pola3, $teks, $pertandingan,PREG_OFFSET_CAPTURE, 3);

dibuang '
';  

print_r ($matches);

echo '
'
;

?>

Keluaran :

Output berikut akan muncul setelah menjalankan skrip dari server.

Kesimpulan

Penggunaan fungsi preg_match() telah dijelaskan dalam tutorial ini menggunakan beberapa contoh. Penggunaan argumen yang berbeda dari fungsi ini juga telah ditunjukkan di sini. Pembaca akan dapat menggunakan fungsi ini dengan benar dalam skrip mereka setelah membaca tutorial ini.