Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Saya Mendapat Ralat 'Amaran: preg_replace(): Unknown Modifier' dalam PHP?

Mengapa Saya Mendapat Ralat 'Amaran: preg_replace(): Unknown Modifier' dalam PHP?

Susan Sarandon
Lepaskan: 2024-12-25 12:20:32
asal
955 orang telah melayarinya

Why Am I Getting the

Amaran: preg_replace(): Unknown Modifier

Memahami Ralat

Ralat "Amaran: preg_replace( ): Pengubah suai tidak diketahui" biasanya timbul apabila anda menentukan pengubah suai yang tidak sah dalam corak ekspresi biasa anda. Ungkapan biasa terdiri daripada corak dan pengubah suai yang disertakan dalam pembatas.

Punca Ralat

Terdapat dua sebab biasa untuk ralat ini:

  1. Pembatas Hilang: Corak ungkapan biasa tidak disertakan dengan betul di dalamnya pembatas.
  2. Pembatas Tidak Diselamatkan: Anda telah menggunakan aksara pembatas di dalam corak tanpa melepaskannya menggunakan garis serong ke belakang ().

Penyelesaian

1. Tambah Pembatas:

Jika anda belum menyediakan pembatas, cuma sertakan corak antara yang sah, seperti /, #, ~ atau [].

Contoh :

preg_replace("/<div[^>]*><ul[^>]*>/", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)));
Salin selepas log masuk

2. Escape Delimiters:

Jika corak mengandungi aksara pembatas, elakkannya menggunakan garis serong ke belakang.

Contoh:

preg_replace("/foo[^/]+bar/i", "", "foo/bar");
Salin selepas log masuk

3. Gunakan Pembatas Berbeza:

Jika melarikan diri pembatas menjadi menyusahkan, pertimbangkan untuk menggunakan pembatas yang tidak muncul dalam corak, seperti #.

Contoh:

preg_replace("#<div[^>]*><ul[^>]*>#", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)));
Salin selepas log masuk

Tambahan Sumber

  • [Pembatas Ungkapan Biasa PHP](https://www.php.net/manual/en/reference.pcre.pattern.syntax.php)
  • [Bagaimana boleh Saya menukar ungkapan ereg kepada preg dalam PHP? (pembatas tiada)](https://stackoverflow.com/questions/2846236/how-can-i-convert-ereg-expressions-to-preg-in-php-missing-delimiters)
  • [Tidak diketahui pengubah suai '/' dalam …? apa itu? (menggunakan preg_quote())](https://stackoverflow.com/questions/426482/unknown-modifier-in-what-is-it-on-using-preg-quote)

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Amaran: preg_replace(): Unknown Modifier' dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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