Heim  >  Artikel  >  Backend-Entwicklung  >  Warum erhalte ich „Unbekannter Modifikator ‚g‘ in preg_match“ und wie kann ich das beheben?

Warum erhalte ich „Unbekannter Modifikator ‚g‘ in preg_match“ und wie kann ich das beheben?

Linda Hamilton
Linda HamiltonOriginal
2024-11-13 10:31:02691Durchsuche

Why Am I Getting

Adressierung von „Unbekannter Modifikator 'g' in preg_match in PHP“

Beim Erkunden der Feinheiten regulärer Ausdrücke ist Ihnen möglicherweise ein Fehler aufgefallen Meldung „Unbekannter Modifikator ‚g‘ in…“ bei Verwendung von preg_match. Dieses Problem tritt auf, wenn Sie versuchen, den Modifikator „g“ in Ihrem Regex-Muster zu verwenden. Allerdings gibt es in preg_match keinen Modifikator „g“.

Um dieses Problem zu beheben, müssen Sie stattdessen zur Funktion preg_match_all wechseln. Im Gegensatz zu preg_match, das nach dem ersten Vorkommen des Musters sucht und einen booleschen Wert zurückgibt, sucht preg_match_all nach allen Vorkommen des Musters und gibt ein Array von Übereinstimmungen zurück.

Korrekt geändertes Regex-Muster

Ihr ursprüngliches Regex-Muster ist:

/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/gim

Um dieses Muster mit preg_match_all zu verwenden, ändern Sie es wie folgt:

/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im

Überarbeiteter Code

Ersetzen Sie Ihren ursprünglichen preg_match-Aufruf durch Folgendes:

preg_match_all("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im", ....)

Durch diese einfache Anpassung können Sie den Fehler „‚g‘-Modifikator nicht unterstützt“ beseitigen und mehrere Vorkommen des Musters korrekt verarbeiten in deiner Zeichenfolge.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich „Unbekannter Modifikator ‚g‘ in preg_match“ und wie kann ich das beheben?. 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