Menjadikan Preg_match Case Insensitive
Apabila menggunakan fungsi preg_match, sensitiviti case boleh menjadi faktor pengehad dalam senario tertentu. Pertimbangkan kod berikut:
preg_match("#(.{100}$keywords.{100})#", strip_tags($description), $matches);
Kod ini cuba memaparkan 100 aksara pada kedua-dua belah rentetan carian di tengah. Walau bagaimanapun, ia adalah sensitif huruf besar-besaran, berpotensi kehilangan hasil yang diingini.
Penyelesaian: Menambah Pengubah suai 'i'
Untuk menjadikan kod ini tidak sensitif huruf besar-besaran, cuma tambahkan "i " pengubah suai selepas pembatas (# dalam kes ini):
preg_match("#(.{100}$keywords.{100})#i", strip_tags($description), $matches);
Sebagai alternatif, jika pembatas ialah "/" dan bukannya "#", tambahkan "i" selepasnya:
preg_match("/your_regexp_here/i", $s, $matches);
Dengan pengubah suai "i", huruf dalam corak akan sepadan dengan huruf besar dan kecil, memastikan semua yang berkaitan keputusan ditangkap.
Atas ialah kandungan terperinci Bagaimana Saya Jadikan `preg_match` Tidak Peka Huruf?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!