Rumah >pembangunan bahagian belakang >tutorial php >Mengapakah fungsi PHP `preg_replace()` saya membuang ralat 'Pengubahsuai Tidak Diketahui'?

Mengapakah fungsi PHP `preg_replace()` saya membuang ralat 'Pengubahsuai Tidak Diketahui'?

Barbara Streisand
Barbara Streisandasal
2024-12-30 10:46:10640semak imbas

Why is my PHP `preg_replace()` function throwing an

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 :

  • [Ekspresi Biasa PHP Pembatas](https://www.php.net/manual/en/regexp.reference.delimiters.php)
  • [Bagaimana untuk Menukar Ungkapan Ereg kepada Preg dalam PHP? (Penghalang Hilang)](https://stackoverflow.com/questions/2487417)
  • [Pengubahsuai Tidak Diketahui '/' dalam …? Apa Itu? (Menggunakan preg_quote())](https://stackoverflow.com/questions/6302259)

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!

Kenyataan:
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