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
Lepaskan: 2024-11-30 17:27:13
asal
632 orang telah melayarinya

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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
Salin selepas log masuk

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/"
Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan