Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Saya Boleh Jadikan PHP `preg_match()` Case-Insensitive?

Bagaimana Saya Boleh Jadikan PHP `preg_match()` Case-Insensitive?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-30 17:27:13517semak imbas

How Can I Make PHP's `preg_match()` Case-Insensitive?

Mengabaikan Kes dalam preg_match()

Apabila melakukan padanan corak menggunakan fungsi preg_match() PHP, anda mungkin menghadapi situasi di mana sensitiviti kes menjadi faktor. Untuk menjadikan preg_match() case insensitive, anda boleh menggunakan teknik berikut:

Penyelesaian:

Kunci kepada case insensitivity dalam preg_match() terletak pada penambahan i pengubah suai selepas pembatas. Sebagai contoh, pertimbangkan kes berikut:

preg_match("#(.{100}$keywords.{100})#", strip_tags($description), $matches);

Dalam contoh ini, matlamatnya ialah untuk memaparkan 100 aksara pada setiap sisi rentetan carian $keywords. Walaupun kod ini berfungsi, ia sensitif huruf besar. Untuk menjadikannya tidak sensitif huruf besar, tambahkan i pengubah suai seperti berikut:

preg_match("#(.{100}$keywords.{100})#i", strip_tags($description), $matches);

Sebagai alternatif, jika pembatas anda ialah garis miring ke hadapan "/", anda boleh menambah i pengubah suai selepasnya, seperti yang dilihat dalam contoh berikut:

preg_match("/your_regexp_here/i", $s, $matches); // i means case insensitive

Kesan daripada i Modifier:

Dengan menyatakan i pengubah suai, anda mengarahkan preg_match() untuk mengabaikan perbezaan kes dalam proses pemadanan. Ini bermakna jika rentetan sasaran mengandungi sama ada huruf besar atau huruf kecil yang sepadan dengan corak, perlawanan akan tetap berjaya.

Contoh:

Pertimbangkan corak:

"/abc/"

Dengan pengubah suai i digunakan, corak ini akan sepadan dengan rentetan "ABC", "abc", dan "aBc". Tanpa pengubah i, hanya rentetan "abc" yang tepat akan dipadankan.

Atas ialah kandungan terperinci Bagaimana Saya Boleh Jadikan PHP `preg_match()` Case-Insensitive?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn