Heim >Backend-Entwicklung >PHP-Tutorial >Warum erhalte ich in PHP den Fehler „preg_replace(): Unknown Modifier'?

Warum erhalte ich in PHP den Fehler „preg_replace(): Unknown Modifier'?

Susan Sarandon
Susan SarandonOriginal
2024-12-31 17:51:10454Durchsuche

Why Am I Getting the

Warnung: preg_replace(): Unbekannter Modifikator

Übersicht

Dieser Fehler tritt auf, wenn die in einem regulären Ausdruck verwendeten Modifikatoren von PHP nicht erkannt werden preg_replace()-Funktion.

Ursachen

Zwei häufige Ursachen umfassen:

  1. Fehlende Trennzeichen: Das reguläre Ausdrucksmuster ist nicht in Trennzeichen eingeschlossen (z. B. Schrägstriche, Klammern).
  2. Nicht maskierte Trennzeichen: Das Muster enthält das Trennzeichen, ohne es mit einem Backslash zu maskieren ().

Beispiel

Betrachten Sie den folgenden Code:

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

Dieser Code könnte den Fehler erzeugen, weil den regulären Ausdrücken Trennzeichen fehlen:

<div[^>]*><ul[^>]

Lösung

1. Trennzeichen hinzufügen:

Schließen Sie das Muster mit gültigen Trennzeichen ein, wie zum Beispiel:

preg_replace "~<div[^>]*><ul[^>]~", "", ...

2. Escape-Trennzeichen:

Wenn das Muster das Trennzeichen enthält, maskieren Sie es mit:

preg_replace "/foo[^/]+bar/i", "", ...

Empfehlungen

  • Verwenden Sie andere Trennzeichen, wenn das Muster enthält das angegebene Trennzeichen.
  • Erwägen Sie die Verwendung von preg_quote(), um automatisch zu maskieren Trennzeichen.
  • Gültige Optionen finden Sie in der Dokumentation zu PHP-Regex-Trennzeichen.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in PHP den Fehler „preg_replace(): Unknown Modifier'?. 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