Apabila menghadapi mesej ralat seperti "Amaran: preg_replace(): Unknown modifier '] ' dalam xxx.php pada baris 38," ia biasanya membayangkan pembatas yang hilang atau tidak dilepaskan pembatas dalam ungkapan biasa anda.
Dalam PHP, ungkapan biasa memerlukan sepasang pembatas, seperti /, # atau ~. Tanpa pembatas yang betul, enjin regex boleh salah tafsir corak dan pengubah suai, yang membawa kepada ralat "Pengubah suai tidak diketahui". Selain itu, jika pembatas muncul dalam corak regex tanpa dilepaskan, ia boleh menyebabkan isu yang sama.
Menggunakan Pembatas:
Balut corak regex anda dengan pembatas yang sesuai. Sebagai contoh, anda boleh menggunakan '~' dalam kod yang anda berikan:
preg_replace("~<div[^>]*><ul[^>]*>", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)));
Escaping Delimiters:
Sebagai alternatif, anda boleh melarikan diri dari pembatas jika ia muncul dalam corak regex menggunakan '' garis miring ke belakang. Contohnya:
preg_replace("/foo[^/]+bar/i", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)));
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Amaran: preg_replace(): Unknown Modifier' dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!