Heim >Backend-Entwicklung >PHP-Tutorial >Warum gibt meine PHP-Funktion „preg_replace()' den Fehler „Unbekannter Modifikator' aus?

Warum gibt meine PHP-Funktion „preg_replace()' den Fehler „Unbekannter Modifikator' aus?

Barbara Streisand
Barbara StreisandOriginal
2024-12-30 10:46:10638Durchsuche

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

preg_replace(): Unbekannter Modifikator – Diagnose und Lösung

Bei Auftreten der Fehlermeldung „Warnung: preg_replace(): Unbekannter Modifikator [Zeichen ]“, ist es wichtig, die zugrunde liegende Ursache zu verstehen:

Fehlend Trennzeichen oder Trennzeichen ohne Escapezeichen

In PHP erfordern reguläre Ausdrücke Trennzeichen, um ihre Grenzen zu definieren. Fehlende Trennzeichen oder Trennzeichen ohne Escapezeichen innerhalb des Musters können diesen Fehler auslösen. Zum Beispiel im bereitgestellten Codeausschnitt:

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

Dem regulären Ausdruck fehlen Trennzeichen, sodass die Engine „[ ]“ als nicht erkannten Modifikator interpretiert.

Fix:

Um dieses Problem zu beheben, schließen Sie den regulären Ausdruck mit gültigen Trennzeichen ein, z. B „/“:

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

Alternativ: Wenn das Trennzeichen innerhalb des Musters erscheint, maskieren Sie es mit einem Backslash („“), wie in:

preg_replace("/foo\/bar/", "", $string);

Zusätzliche Ressourcen :

  • [Regulärer PHP-Ausdruck Trennzeichen](https://www.php.net/manual/en/regexp.reference.delimiters.php)
  • [Wie konvertiert man Ereg-Ausdrücke in PHP in Preg? (Fehlende Trennzeichen)](https://stackoverflow.com/questions/2487417)
  • [Unbekannter Modifikator „/“ in …? Was ist das? (Zur Verwendung von preg_quote())](https://stackoverflow.com/questions/6302259)

Das obige ist der detaillierte Inhalt vonWarum gibt meine PHP-Funktion „preg_replace()' den Fehler „Unbekannter Modifikator' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn