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
Freigeben: 2024-12-31 17:51:10
Original
468 Leute haben es durchsucht

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)) ));
Nach dem Login kopieren

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

<div[^>]*><ul[^>]
Nach dem Login kopieren

Lösung

1. Trennzeichen hinzufügen:

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

preg_replace "~<div[^>]*><ul[^>]~", "", ...
Nach dem Login kopieren

2. Escape-Trennzeichen:

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

preg_replace "/foo[^/]+bar/i", "", ...
Nach dem Login kopieren

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!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage