Memahami "Unknown Modifier 'g' in...'' Ralat Semasa Menggunakan preg_match dalam PHP
Apabila menggunakan fungsi preg_match dalam PHP, anda mungkin menghadapi mesej ralat "Pengubah suai tidak diketahui 'g'" Isu yang membingungkan ini boleh timbul apabila cuba menggunakan Pengubah suai 'g' dalam ungkapan biasa.
Pengubah suai 'g' dalam ungkapan biasa biasanya digunakan untuk carian global untuk mencari semua kemunculan corak dalam rentetan Walau bagaimanapun, apabila digunakan bersama dengan preg_match, pengubah ini tidak dikenali. Sebab di sebalik percanggahan ini berpunca daripada kesilapan dalam pelaksanaan PHP, kerana preg_match hanya menyokong 'i' dan 'm' pengubahsuai.
Untuk menyelesaikan isu ini dan melakukan carian global dengan preg_match, anda harus menggunakan fungsi preg_match_all sebaliknya Fungsi ini memanjangkan fungsi preg_match dengan memadankan semua kejadian corak dalam rentetan, menyediakan global yang diingini. fungsi carian.
Oleh itu, untuk membetulkan coretan kod yang anda berikan dan melakukan carian global, ubah suai baris yang mengandungi fungsi preg_match untuk menggunakan preg_match_all:
preg_match_all("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im", ....)
Dengan menggunakan preg_match_all dengan pengubah yang sesuai, anda boleh berjaya mencari semua kejadian corak alamat e-mel dalam rentetan anda, mengelakkan "Pengubah suai tidak diketahui 'g' dalam...'' mesej ralat.
Atas ialah kandungan terperinci Mengapakah preg_match Melemparkan Ralat 'Pengubahsuai Tidak Diketahui 'g'' dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!