Heim >Backend-Entwicklung >PHP-Tutorial >Warum erhalte ich „Unbekannter Modifikator ‚g' in preg_match' und wie kann ich das beheben?
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!