Penggunaan fungsi preg_match () dalam PHP

Use Preg_match Function Php



Ungkapan biasa adalah corak tertentu yang dapat digunakan untuk mencocokkan, mencari, dan mengganti rentetan tertentu dalam data teks. Ini adalah ciri kuat dari mana-mana bahasa pengaturcaraan. Ini terutama digunakan untuk melakukan pelbagai jenis pengesahan bentuk, seperti mengesahkan e-mel, memeriksa format telefon, mengesahkan bidang nama pengguna dan kata laluan dari borang log masuk, dll. Sebarang kandungan teks boleh dicari dan diganti menggunakan ungkapan biasa corak. Ia juga disebut regex atau RegExp. Jenis simbol yang berbeza digunakan untuk menentukan corak regex.

Banyak fungsi terbina dalam PHP untuk ekspresi biasa. fungsi preg_match () adalah salah satunya. Fungsi ini digunakan untuk mencocokkan corak tertentu dalam data rentetan. Bagaimana fungsi preg_match () dapat digunakan dalam PHP untuk melakukan pelbagai tugas dijelaskan dalam tutorial ini.







Sintaks:

Int atausalah preg_match (talicorak $,talisubjek $ [, susunan &$ sepadan = batal [,int$ bendera = 0 [,int$ mengimbangi = 0]]])

Fungsi ini boleh mengambil lima argumen. Hujah pertama, corak $ , adalah wajib, yang menentukan corak untuk dipadankan. Hujah kedua, subjek $ , adalah wajib, dan mengandungi data rentetan di mana corak akan diterapkan. Hujah ketiga, $ sepadan , adalah pilihan dan mengembalikan array berdasarkan padanan. Hujah keempat, $ bendera , adalah pilihan, yang mengandungi pelbagai jenis nilai bendera berdasarkan padanan. Hujah kelima, $ mengimbangi , adalah pilihan, dan dapat digunakan untuk menentukan posisi awal pencarian.



Contoh 1: Padankan corak dengan peka huruf besar-kecil dan tidak peka huruf besar-kecil

Contoh berikut menunjukkan penggunaan fungsi preg_match () untuk memadankan rentetan dengan peka huruf besar kecil dan tidak peka huruf besar-kecil. Buat fail PHP dengan skrip berikut.



Di sini, tiga corak digunakan untuk diterapkan dalam tiga fungsi preg_match (). Corak pertama, '/ Suka /', digunakan untuk memadankan rentetan dengan cara peka huruf besar kecil. Corak kedua, '/ Suka /' , digunakan untuk memadankan rentetan dengan cara huruf besar-kecil. Corak ketiga, ‘Suka / saya’ , digunakan untuk memadankan rentetan dengan cara yang tidak peka huruf besar kecil. search_pattern () fungsi didefinisikan dalam skrip untuk menggunakan fungsi preg_match () untuk pencocokan, dan ia mencetak pesan berdasarkan nilai kembali fungsi ini.







// Tentukan teks

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

// Tentukan tiga jenis corak

$ corak1 = '/ Suka /';

$ corak2 = '/ suka /';

$ corak3 = '/ Suka / saya';

// Tentukan fungsi untuk mencari corak dalam teks

fungsisearch_pattern(corak $, tali $)

{

sekiranya( preg_match (corak $, tali $))

membuang 'Hasil carian: Padanan dijumpai untuk corak -corak $
'
;

yang lain

membuang 'Hasil carian: Padanan tidak dijumpai untuk corak -corak $
'
;

}

// Cetak teks asal

membuang 'Teks asal adalah: $ teks
'
;

// Panggil fungsi tiga kali untuk tiga corak

search_pattern($ corak1, $ teks);

search_pattern($ corak2, $ teks);

search_pattern($ corak3, $ teks);

?>

Pengeluaran :

Output berikut akan muncul setelah menjalankan skrip dari pelayan. Baris pertama menunjukkan teks di mana corak dicari. Baris kedua menunjukkan keluaran corak pertama. Baris ketiga menunjukkan keluaran corak kedua. Baris keempat menunjukkan keluaran corak ketiga.



Contoh 2: Sahkan URL

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

Nilai URL diberikan dalam $ url pemboleh ubah untuk ujian. String ‘@ ^ (?: Https: //)? ([^ /] +) @I’ digunakan sebagai corak dalam fungsi preg_match () untuk memeriksa sama ada alamat URL itu sah atau tidak. Sekiranya ia sah, maka nama host dan nama domain akan dicetak, jika tidak, mesej ralat akan dicetak.



// Tentukan URL

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

// Tentukan corak untuk mengesahkan URL

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

// Periksa URL itu sah atau tidak

sekiranya( preg_match (corak $, $ url, $ padanan1))

{

// Cetak mesej kejayaan

membuang 'URL itu sah.
'
;

// Cetak array yang mengandungi nilai padanan

membuang 'Nilai array adalah:';

cetak_r ($ padanan1);

// Dapatkan dan cetak nilai host

$ tuan rumah = $ padanan1[1];

membuang '
Nama hos adalah:$ tuan rumah'
;

// Cari nama domain dari nilai host

preg_match ('/[^.-lex.europa.eu+.[^.íritu+$/', $ tuan rumah, $ padanan2);

membuang '
Nama domain adalah:{$ match2 [0]}'
;

}

yang lain

{

// Cetak mesej ralat

membuang 'URL tidak sah.';

}

?>

Pengeluaran :

Output berikut akan muncul setelah menjalankan skrip dari pelayan. URL yang disediakan dalam skrip adalah sah. Jadi, output menunjukkan nilai $ match, nama host URL, dan nama domain URL.

Contoh 3: Corak carian dengan nilai bendera dan mengimbangi

Contoh berikut menunjukkan penggunaan nilai bendera dan mengimbangi dalam fungsi preg_match (). Buat fail PHP dengan skrip berikut.

Tiga corak digunakan dalam skrip untuk tiga jenis padanan. Pada fungsi preg_match () pertama, ‘/ (bangla) (desh) /’ digunakan sebagai corak dan nilai bendera, PREG_OFFSET_CAPTURE digunakan. Nilai-nilai $ sepadan pemboleh ubah akan mencetak berdasarkan output fungsi preg_match () pertama. Pada fungsi preg_match () kedua, ‘/ (bangla) (senang) * (desh) / i’, digunakan sebagai corak dan nilai bendera, PREG_UNMATCHED_AS_NULL digunakan. Sekiranya mana-mana bahagian corak tidak sepadan maka nilai NULL akan disimpan dalam array. Nilai-nilai $ sepadan pemboleh ubah akan mencetak berdasarkan output fungsi preg_match () kedua. Dalam fungsi preg_match () ketiga, '/ senang /' digunakan sebagai corak, nilai bendera, PREG_OFFSET_CAPTURE digunakan dan 3 digunakan sebagai nilai ofset. Nilai-nilai $ sepadan pemboleh ubah akan mencetak berdasarkan output fungsi preg_match () ketiga.



// Tentukan nilai teks

$ teks = 'Bangladesh';

// Tentukan tiga jenis corak

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

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

$ corak3 = '/ gembira /';


// Menggunakan bendera PREG_OFFSET_CAPTURE

preg_match ($ corak1, $ teks, $ sepadan,PREG_OFFSET_CAPTURE);

membuang '
';  

print_r ($matches);

echo '

'
;

// Menggunakan bendera PREG_UNMATCHED_AS_NULL

preg_match ($ corak2, $ teks, $ sepadan,PREG_UNMATCHED_AS_NULL);

membuang '
';  

print_r ($matches);

echo '

'
;

// Menggunakan bendera PREG_OFFSET_CAPTURE dan nilai ofset

preg_match ($ corak3, $ teks, $ sepadan,PREG_OFFSET_CAPTURE, 3);

membuang '
';  

print_r ($matches);

echo '
'
;

?>

Pengeluaran :

Output berikut akan muncul setelah menjalankan skrip dari pelayan.

Kesimpulannya

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