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

Warum erhalte ich in PHP den Fehler „Warnung: preg_replace(): Unbekannter Modifikator'?

Susan Sarandon
Susan SarandonOriginal
2024-12-25 12:20:32989Durchsuche

Why Am I Getting the

Warnung: preg_replace(): Unbekannter Modifikator

Verstehen des Fehlers

Der Fehler „Warnung: preg_replace( ): „Unbekannter Modifikator“ tritt normalerweise auf, wenn Sie in Ihrem regulären Ausdrucksmuster einen ungültigen Modifikator angeben. Ein regulärer Ausdruck besteht aus einem Muster und Modifikatoren, die in Trennzeichen eingeschlossen sind.

Fehlerursachen

Es gibt zwei häufige Gründe für diesen Fehler:

  1. Fehlende Trennzeichen: Das reguläre Ausdrucksmuster ist darin nicht richtig eingeschlossen Trennzeichen.
  2. Trennzeichen ohne Escapezeichen: Sie haben das Trennzeichen innerhalb des Musters verwendet, ohne es mit einem Backslash () zu maskieren.

Auflösung

1. Trennzeichen hinzufügen:

Wenn Sie keine Trennzeichen angegeben haben, schließen Sie einfach das Muster zwischen gültigen Trennzeichen ein, z. B. /, #, ~ oder [].

Beispiel :

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

2. Escape-Trennzeichen:

Wenn das Muster das Trennzeichen enthält, maskieren Sie es mit einem Backslash.

Beispiel:

preg_replace("/foo[^/]+bar/i", "", "foo/bar");

3. Verwenden Sie verschiedene Trennzeichen:

Wenn das Escapezeichen von Trennzeichen umständlich wird, sollten Sie die Verwendung eines Trennzeichens in Betracht ziehen, das nicht im Muster vorkommt, z. B. #.

Beispiel:

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

Zusätzliche Ressourcen

  • [PHP Trennzeichen für reguläre Ausdrücke](https://www.php.net/manual/en/reference.pcre.pattern.syntax.php)
  • [Wie kann ich Ereg-Ausdrücke in PHP in Preg konvertieren? (fehlende Trennzeichen)](https://stackoverflow.com/questions/2846236/how-can-i-convert-ereg-expressions-to-preg-in-php-missing-delimiters)
  • [Unbekannt Modifikator '/' in …? Was ist das? (zur Verwendung von preg_quote())](https://stackoverflow.com/questions/426482/unknown-modifier-in-what-is-it-on-using-preg-quote)

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