Kernpunkte
preg_match()
, preg_replace()
und preg_match_all()
, um reguläre Ausdrücke anzuwenden. Diese Funktionen können Formularfelder, Formattext und Informationsarrays aus Zeichenfolgen extrahieren. ^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+.[A-Za-z]{2,4}$
Dieser Code sieht so schwer zu verstehen wie alte ägyptische Hieroglyphen, aber er ist tatsächlich ein reguläres Ausdrucksmuster für die Übereinstimmung mit E -Mail -Adressen wie oleomarg32@hotmail.com
, Fiery.Rebel@veneuser.info
, robustlamp selfmag@gmail.ca
usw. In diesem Artikel werden die Grundlagen regulärer Ausdrücke und ihrer Anwendung in PHP eingeführt.
Anfänger der regulären Expressionsnotation
Lassen Sie uns das obige Beispiel eins nacheinander aufschlüsseln: ^[A-Za-z0-9-_. %] @[A-Za-z0-9-.] .[A-Za-z]{2,4}$
^
: Stimmen Sie den Beginn der Zeichenfolge ab. [A-Za-z0-9-_. %]
: Übereinstimmung mit einem oder mehreren Buchstaben, Zahlen oder Sonderzeichen (-_. %). Square Brackets []
definieren Zeichensätze.
Der Quantifizierer bedeutet "mindestens eine". @
: Stimmen Sie buchstäblich mit dem Symbol "@" überein. [A-Za-z0-9-.]
: Übereinstimmung mit einem oder mehreren Buchstaben, Zahlen oder Punkten (.). .
: wörtliches Match ". [A-Za-z]{2,4}
: Übereinstimmung mit 2 bis 4 Buchstaben. Zahnspangen {}
Gibt die Anzahl der Wiederholungen an. $
: Übereinstimmung mit dem Ende der Zeichenfolge. Wenn Sie den ersten
Quantifizierer durch *
ersetzen, zum Beispiel:
^[A-Za-z0-9-_.+%]*@[A-Za-z0-9-.]+.[A-Za-z]{2,4}
kann Strings wie @SodaCanDrive.com
übereinstimmen, weil der *
Quantifizierer "Null oder mehr" bedeutet.
reguläre Ausdrücke in Php
Nach dem Verständnis der regelmäßigen Ausdrucksnotation sehen wir, wie sie in PHP verwendet werden. PHP bietet mehrere Funktionen, um reguläre Ausdrücke zu verarbeiten: preg_match()
, preg_replace()
und preg_match_all()
.
preg_match()
preg_match()
Wird verwendet, um zu überprüfen, ob in der Zeichenfolge ein Matching -Muster vorhanden ist. Gibt 1 zurück, wenn ein Match gefunden wird, andernfalls gibt es 0 zurück.
<?php if (preg_match('/^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+.[A-Za-z]{2,4}$/', $_POST["emailAddy"])) { echo "Email address accepted"; } else { echo "Email address is all broke."; } ?>
Beachten Sie, dass reguläre Ausdrücke mit Slash /
als Trennzeichen verpackt werden.
preg_replace()
preg_replace()
Wird verwendet, um Matching -Muster zu finden und zu ersetzen.
^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+.[A-Za-z]{2,4}$
U
Modifikator stellt regelmäßige Ausdrücke mit Nicht-Greedy überein. Die Klammern ()
werden verwendet, um den passenden Text zu erfassen, und 1
ist eine Rückreferenz, die sich auf die erste erfasste Gruppe bezieht.
preg_match_all()
preg_match_all()
Wird verwendet, um alle Übereinstimmungsmuster in einer Zeichenfolge zu finden und die Ergebnisse in einem Array zu speichern.
^[A-Za-z0-9-_.+%]*@[A-Za-z0-9-.]+.[A-Za-z]{2,4}
i
Modifikator Mittelfall unempfindlich.
In diesem Artikel wird nur die Grundlagen regulärer Ausdrücke, fortgeschrittenerer Verwendungen wie potenziellen Kunden, Rücksichten und komplexeren Backreferenzen vorgestellt. Weitere Informationen finden Sie in der offiziellen PHP -Dokumentation.
Bilder von Boris mrdja / Shutterstock
Das obige ist der detaillierte Inhalt vonphpmaster | Verwenden Sie regelmäßige PHP -Ausdrücke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!