Rumah > pembangunan bahagian belakang > tutorial php > Mengapakah preg_match Melemparkan Ralat 'Pengubahsuai Tidak Diketahui 'g'' dalam PHP?

Mengapakah preg_match Melemparkan Ralat 'Pengubahsuai Tidak Diketahui 'g'' dalam PHP?

Mary-Kate Olsen
Lepaskan: 2024-11-12 01:00:03
asal
928 orang telah melayarinya

Why Does preg_match Throw an

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", ....)
Salin selepas log masuk

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!

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