preg_replace(): Unknown Modifier - Diagnosis and Resolution
Apabila menghadapi mesej ralat "Amaran: preg_replace(): Unknown modifier [character ]", adalah penting untuk memahami asasnya sebab:
Pembatas Hilang atau Pembatas Tidak Diselamatkan
Dalam PHP, ungkapan biasa memerlukan pembatas untuk menentukan sempadannya. Pembatas yang tiada atau pembatas yang tidak dilepaskan dalam corak boleh mencetuskan ralat ini. Contohnya, dalam coretan kod yang disediakan:
preg_replace("<div[^>]*><ul[^>]*>", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)) ));
Ungkapan biasa tidak mempunyai pembatas, jadi enjin mentafsirkan "[ ]" sebagai pengubah suai yang tidak dikenali.
Betulkan:
Untuk menyelesaikan isu ini, sertakan ungkapan biasa dengan pembatas yang sah, seperti "/":
preg_replace("/<div[^>]*><ul[^>]*>/", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)) ));
Sebagai alternatif, jika pembatas muncul dalam corak, elakkannya dengan garis serong ke belakang (""), seperti dalam:
preg_replace("/foo\/bar/", "", $string);
Sumber Tambahan :
Atas ialah kandungan terperinci Mengapakah fungsi PHP `preg_replace()` saya membuang ralat 'Pengubahsuai Tidak Diketahui'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!