Verwendung der Funktion preg_match in PHP

Verwendung der Funktion preg_match in PHP

Der reguläre Ausdruck ist ein bestimmtes Muster, das verwendet werden kann, um eine bestimmte Zeichenfolge in Textdaten zu übereinstimmen, zu suchen und zu ersetzen. Es ist ein leistungsstarkes Merkmal jeder Programmiersprache. Es wird hauptsächlich verwendet, um verschiedene Arten von Formularvalidierungen durchzuführen, z. Jeder bestimmte Inhalt des Textes kann durch ein reguläres Ausdrucksmuster gesucht und ersetzt werden. Es wird auch Regex oder Regexp bezeichnet. Verschiedene Arten von Symbolen werden verwendet, um das Regex -Muster zu definieren.

In PHP gibt es viele integrierte Funktionen für den regulären Ausdruck. preg_match () Funktion ist eine davon. Diese Funktion wird zur Übereinstimmung mit einem bestimmten Muster in String -Daten verwendet. Wie die Funktion preg_match () in PHP zur Ausführung verschiedener Aufgaben verwendet werden kann, wird in diesem Tutorial erklärt.

Syntax:

Int oder false preg_match (String $ muster, String $ Betreff [, Array & $ matches = null [, int $ flags = 0 [, int $ offset = 0]]])

Diese Funktion kann fünf Argumente erfordern. Das erste Argument, $ Muster, ist obligatorisch, was das Muster für die Übereinstimmung definiert. Das zweite Argument, $ Betreff, ist obligatorisch und enthält die String -Daten, in denen Muster angewendet werden. Das dritte Argument, $ Matches, ist optional und gibt ein Array zurück, das auf dem Spiel basiert. Das vierte Argument, $ flags, ist optional, das verschiedene Arten von Flag -Werten enthält, die auf der Übereinstimmung basieren. Das fünfte Argument, $ offset, ist optional und kann verwendet werden, um die Ausgangsposition der Suche zu definieren.

Beispiel 1: Übereinstimmung mit dem Muster in einer Fall-sensitiven und von Fall unempfindlichen Weise

Das folgende Beispiel zeigt die Verwendung der Funktion preg_match () zur Übereinstimmung mit der Zeichenfolge in einer Fallempfindlichkeit und der Fall-unempfindlich. Erstellen Sie eine PHP -Datei mit dem folgenden Skript.

Hier werden drei Muster verwendet, um in drei Funktionen preg_match () anzuwenden. Das erste Muster, '/Wie/', wird zur Übereinstimmung der Zeichenfolge auf Fallsensitive verwendet. Das zweite Muster, '/wie/', wird zur Übereinstimmung der Zeichenfolge auf Fallsensitive verwendet. Das dritte Muster, 'Wie ich', wird zur Übereinstimmung der Zeichenfolge in einer von Fall unempfindlichen Weise verwendet. Search_pattern () Die Funktion wird im Skript definiert, um die Funktion preg_match () für die Übereinstimmung zu verwenden, und druckt die Nachricht basierend auf dem zurückgegebenen Wert dieser Funktion aus.

// den Text definieren
$ text = "Ich mag PHP. Ich mag auch JavaScript.";
// Drei Arten von Muster definieren
$ muster1 = '/like/';
$ muster2 = '/like/';
$ muster3 = '/like/i';
// Funktion zum Durchsuchen des Musters im Text definieren
Function Search_Pattern ($ Muster, $ String)

if (preg_match ($ muster, $ string))
Echo "Suchergebnis: Die Übereinstimmung ist für das Muster - $ Muster gefunden
";
anders
Echo "Suchergebnis: Die Übereinstimmung ist für das Muster nicht gefunden - $ Muster
";

// Den Originaltext drucken
Echo "Der Originaltext lautet: $ Text
";
// Rufen Sie die Funktion dreimal für drei Muster auf
Search_Pattern ($ muster1, $ text);
search_pattern ($ muster2, $ text);
Search_Pattern ($ muster3, $ text);
?>

Ausgang:

Die folgende Ausgabe wird angezeigt, nachdem das Skript vom Server ausgeführt wird. Die erste Zeile zeigt den Text, in dem die Muster durchsucht wurden. Die zweite Zeile zeigt die Ausgabe des ersten Musters. Die dritte Zeile zeigt die Ausgabe des zweiten Musters. Die vierte Zeile zeigt die Ausgabe des dritten Musters.

Beispiel 2: Validieren Sie die URL

Das folgende Beispiel zeigt den Weg zur Validierung der URL -Adresse mithilfe der Funktion preg_match (). Erstellen Sie eine PHP -Datei mit dem folgenden Skript.

Ein URL -Wert wird in der Variablen $ URL zum Testen zugewiesen. '@^(?: https: //)?([^/]+)@i 'String wird als Muster in der Funktion preg_match () verwendet, um zu überprüfen, ob die URL -Adresse gültig ist oder nicht. Wenn es gültig ist, wird der Hostname und der Domänenname gedruckt, andernfalls wird die Fehlermeldung gedruckt.

// die URL definieren
$ url = "https: // www.LinuxHint.com ";
// Definieren Sie das Muster zur Validierung der URL
$ muster = '@^(?: https: //)?([^/]+)@i ';
// Überprüfen Sie, ob die URL gültig ist oder nicht
if (preg_match ($ muster, $ url, $ Matches1))

// Die Erfolgsnachricht ausdrucken
echo "Die URL ist gültig.
";
// Drucken Sie das Array, das die Übereinstimmungswerte enthält
echo "Die Werte des Arrays sind:";
print_r ($ matches1);
// den Host -Wert abrufen und drucken
$ host = $ matches1 [1];
Echo "
Hostname ist: $ host ";
// Durchsuchen Sie den Domänennamen aus dem Hostwert
preg_match ('/[^.]+\.[^.]+$/', $ host, $ matches2);
Echo "
Der Domänenname ist: $ Matches2 [0] ";

anders

// Die Fehlermeldung drucken
echo "Ungültige URL.";

?>

Ausgang:

Die folgende Ausgabe wird angezeigt, nachdem das Skript vom Server ausgeführt wird. Die bereitgestellte URL im Skript ist gültig. Die Ausgabe zeigt also die Werte der $ Matches, den Hostnamen der URL und den Domänennamen der URL.

Beispiel 3: Suchmuster mit Flag- und Offsetwerten

Das folgende Beispiel zeigt die Verwendungen des Flag- und Offset -Werte in der Funktion preg_match (). Erstellen Sie eine PHP -Datei mit dem folgenden Skript.

Im Skript werden drei Muster für drei Arten von Matching verwendet. In der ersten preg_match () -Funktion '/(bangla) (DESH)/' wird als Muster und der Flag -Wert verwendet, preg_offset_capture. Die Werte der $ Matches Die Variable druckt basierend auf der Ausgabe der First preg_match () -Funktion. In der zweiten Funktion preg_match () wird '/(bangla) (fray)*(Desh)/i' als Muster verwendet und der Flag -Wert wird verwendet, preg_unmatched_as_null. Wenn ein Teil des Musters nicht übereinstimmt, wird im Array ein Nullwert gespeichert. Die Werte der $ Matches Die Variable druckt basierend auf der Ausgabe der zweiten preg_match () -Funktion. In der dritten Funktion preg_match () wird '/glad/' 'als Muster verwendet, der Flag -Wert, preg_offset_capture und 3 als Offsetwert verwendet. Die Werte der $ Matches Die Variable druckt basierend auf der Ausgabe der dritten Funktion preg_match ().

// den Textwert definieren
$ text = "bangladesch";
// Drei Arten von Mustern definieren
$ muster1 = '/(bangla) (Desh)/i';
$ muster2 = '/(bangla) (froh)*(Desh)/i';
$ muster3 = '/glad/';
// Verwenden von PREG_OFFSET_CAPTURE -Flag
preg_match ($ muster1, $ text, $ übereinstimmt, preg_offset_capture);
Echo "
";
print_r ($ Matches);
Echo "

";
// Verwenden von preg_unmatched_as_null Flag
preg_match ($ muster2, $ text, $ übereinstimmt, preg_unmatched_as_null);
Echo "
";
print_r ($ Matches);
Echo "

";
// Verwenden Sie das Flag PREG_OFFSET_CAPTURE und den Offset -Wert
preg_match ($ muster3, $ text, $ übereinstimmt, preg_offset_capture, 3);
Echo "
";
print_r ($ Matches);
Echo "
";
?>

Ausgang:

Die folgende Ausgabe wird angezeigt, nachdem das Skript vom Server ausgeführt wird.

Abschluss

Die Verwendungen der Funktion preg_match () wurden in diesem Tutorial anhand mehrerer Beispiele erläutert. Die Verwendung verschiedener Argumente dieser Funktion wurde auch hier gezeigt. Die Leser können diese Funktion nach dem Lesen dieses Tutorials in ihrem Skript ordnungsgemäß verwenden.