Heim >Backend-Entwicklung >PHP-Tutorial >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:02753Durchsuche

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. In preg_match gibt es jedoch 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

Zur Verwendung dieses Musters mit preg_match_all, ä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", ....)

By making Mit dieser einfachen Anpassung können Sie den Fehler „‚g‘-Modifikator wird nicht unterstützt“ beseitigen und mehrere Vorkommen des Musters in Ihrem System korrekt verarbeiten 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