Rumah > Artikel > pembangunan bahagian belakang > Mengapa Saya Mendapat "Pengubahsuai Tidak Diketahui 'g' dalam preg_match" dan Bagaimana Saya Membetulkannya?
Mengatasi "Pengubah suai tidak diketahui 'g' dalam preg_match dalam PHP"
Semasa meneroka selok-belok ungkapan biasa, anda mungkin mengalami ralat mesej yang menyatakan "Pengubah suai tidak diketahui 'g' dalam..." apabila menggunakan preg_match. Isu ini timbul apabila cuba menggunakan pengubah suai 'g' dalam corak regex anda. Walau bagaimanapun, tiada pengubah suai 'g' dalam preg_match.
Untuk menyelesaikan isu ini, anda perlu bertukar kepada fungsi preg_match_all. Tidak seperti preg_match, yang mencari kejadian pertama corak dan mengembalikan nilai boolean, preg_match_all mencari semua kemunculan corak dan mengembalikan tatasusunan padanan.
Corak Regex Diubah Suai Dengan Betul
Corak regex asal anda ialah:
/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/gim
Untuk menggunakan corak ini dengan preg_match_all, ubah suainya seperti berikut:
/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im
Kod Disemak
Ganti preg_match asal anda hubungi dengan yang berikut:
preg_match_all("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im", ....)
Dengan menjadikannya mudah pelarasan, anda boleh menghapuskan ralat "pengubah suai 'g' tidak disokong" dan memproses berbilang kejadian corak dalam rentetan anda dengan betul.
Atas ialah kandungan terperinci Mengapa Saya Mendapat "Pengubahsuai Tidak Diketahui 'g' dalam preg_match" dan Bagaimana Saya Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!