php

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 abzugleichen, zu suchen und zu ersetzen. Es ist eine leistungsstarke Funktion jeder Programmiersprache. Es wird hauptsächlich verwendet, um verschiedene Arten von Formularvalidierungen durchzuführen, z. B. E-Mail-Validierung, Überprüfung des Telefonformats, Validierung der Benutzernamen- und Passwortfelder des Anmeldeformulars usw. Jeder bestimmte Inhalt des Textes kann mithilfe eines Musters für reguläre Ausdrücke gesucht und ersetzt werden. Es wird auch Regex oder RegExp genannt. Verschiedene Arten von Symbolen werden verwendet, um das Regex-Muster zu definieren define.

In PHP gibt es viele eingebaute Funktionen für den regulären Ausdruck. Die Funktion preg_match() ist eine davon. Diese Funktion wird verwendet, um ein bestimmtes Muster in String-Daten abzugleichen. 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 $pattern, string $subject [, array &$matches = null [, int $flags = 0 [, int $offset = 0]]])

Diese Funktion kann fünf Argumente annehmen. Das erste Argument, $muster, ist obligatorisch, was das Muster für den Abgleich definiert. Das zweite Argument, $Betreff, ist obligatorisch und enthält die Zeichenfolgendaten, in denen das Muster angewendet wird. Das dritte Argument, $übereinstimmungen, ist optional und gibt ein Array basierend auf der Übereinstimmung zurück. Das vierte Argument, $flaggen, ist optional und enthält je nach Übereinstimmung verschiedene Arten von Flag-Werten. Das fünfte Argument, $offset, ist optional und kann verwendet werden, um die Startposition der Suche zu definieren.

Beispiel 1: Passen Sie das Muster auf Groß-/Kleinschreibung und Groß-/Kleinschreibung nicht an

Das folgende Beispiel zeigt die Verwendung der Funktion preg_match() zum Abgleichen des Strings unter Beachtung der Groß-/Kleinschreibung. Erstellen Sie eine PHP-Datei mit dem folgenden Skript.

Hier werden drei Muster zur Anwendung in drei preg_match()-Funktionen verwendet. Das erste Muster, '/Mögen/', wird verwendet, um die Zeichenfolge unter Beachtung der Groß-/Kleinschreibung abzugleichen. Das zweite Muster, '/mögen/', wird verwendet, um die Zeichenfolge unter Beachtung der Groß-/Kleinschreibung abzugleichen. Das dritte Muster, 'Wie ich', wird verwendet, um die Zeichenfolge ohne Beachtung der Groß-/Kleinschreibung abzugleichen. Suchmuster() Die Funktion ist im Skript so definiert, dass sie die Funktion preg_match() für den Abgleich verwendet und die Nachricht basierend auf dem zurückgegebenen Wert dieser Funktion ausgibt this.

//Text definieren
$text = "Ich mag PHP. Ich mag JavaScript auch.";
//Definiere drei Arten von Mustern
$muster1 = '/Gefällt mir/';
$muster2 = '/wie/';
$muster3 = '/Gefällt mir/i';
//Funktion zum Suchen des Musters im Text definieren
Funktion search_pattern($muster, $string)

if(preg_match($muster, $string))
echo "Suchergebnis: Übereinstimmung wird für das Muster gefunden - $muster
";
sonst
echo "Suchergebnis: Für das Muster wurde keine Übereinstimmung gefunden - $muster
";

//Drucken Sie den Originaltext
echo "Der Originaltext lautet: $text
";
// Rufen Sie die Funktion dreimal für drei Muster auf
suchmuster($muster1, $text);
suchmuster($muster2, $text);
suchmuster($muster3, $text);
?>

Ausgabe:

Die folgende Ausgabe wird angezeigt, nachdem das Skript vom Server ausgeführt wurde. Die erste Zeile zeigt den Text, in dem die Muster gesucht 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: Überprüfen Sie die URL

Das folgende Beispiel zeigt, wie die URL-Adresse mit der Funktion preg_match() validiert wird. Erstellen Sie eine PHP-Datei mit dem folgenden Skript.

In der Variablen $url wird zum Testen ein URL-Wert 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, werden der Hostname und der Domänenname gedruckt, andernfalls wird die Fehlermeldung gedruckt.

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

//Drucken Sie die Erfolgsmeldung
echo "Die URL ist gültig.
";
//Gibt das Array aus, das die Übereinstimmungswerte enthält
echo "Die Werte des Arrays sind: ";
print_r($matches1);
// Den Hostwert abrufen und ausgeben
$host = $matches1[1];
Echo"
Hostname ist: $host";
//Suche den Domainnamen aus dem Hostwert
preg_match('/[^.]+\.[^.]+$/', $host, $matches2);
Echo"
Domainname ist: $matches2[0]";

sonst

//Drucken Sie die Fehlermeldung
echo "Ungültige URL.";

?>

Ausgabe:

Die folgende Ausgabe wird angezeigt, nachdem das Skript vom Server ausgeführt wurde. Die im Skript angegebene URL 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 Offset-Werten

Das folgende Beispiel zeigt die Verwendung der 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 Übereinstimmungen verwendet. In der ersten Funktion preg_match() wird '/(bangla)(desh)/' als Muster und als Flagwert PREG_OFFSET_CAPTURE verwendet. Die Werte der $übereinstimmungen Variable wird basierend auf der Ausgabe der ersten preg_match() Funktion gedruckt print. In der zweiten Funktion preg_match() wird '/(bangla)(glad)*(desh)/i' als Muster und als Flagwert PREG_UNMATCHED_AS_NULL verwendet. Wenn ein Teil des Musters nicht übereinstimmt, wird ein NULL-Wert im Array gespeichert. Die Werte der $übereinstimmungen Variable wird basierend auf der Ausgabe der zweiten Funktion preg_match() gedruckt. In der dritten Funktion preg_match() wird '/glad/' als Muster verwendet, der Flagwert, PREG_OFFSET_CAPTURE wird verwendet und 3 wird als Offsetwert verwendet. Die Werte der $übereinstimmungen Variable wird basierend auf der Ausgabe der dritten Funktion preg_match() gedruckt.

//Textwert definieren
$text = "Bangladesch";
// Definieren Sie drei Arten von Mustern
$muster1 = '/(bangla)(desh)/i';
$muster2 = '/(bangla)(froh)*(desh)/i';
$muster3 = '/froh/';
//Verwenden des PREG_OFFSET_CAPTURE-Flags
preg_match($pattern1, $text, $matches, PREG_OFFSET_CAPTURE);
Echo"
";
print_r($übereinstimmungen);
Echo"

";
//Verwenden des PREG_UNMATCHED_AS_NULL-Flags
preg_match($pattern2, $text, $matches, PREG_UNMATCHED_AS_NULL);
Echo"
";
print_r($übereinstimmungen);
Echo"

";
//Verwenden des PREG_OFFSET_CAPTURE-Flags und des Offset-Werts
preg_match($pattern3, $text, $matches, PREG_OFFSET_CAPTURE, 3);
Echo"
";
print_r($übereinstimmungen);
Echo"
";
?>

Ausgabe:

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

Fazit

Die Verwendung der Funktion preg_match() wurde in diesem Tutorial anhand mehrerer Beispiele erklärt. Auch die Verwendung verschiedener Argumente dieser Funktion wurde hier gezeigt. Die Leser werden diese Funktion in ihrem Skript richtig verwenden können, nachdem sie dieses Tutorial gelesen haben.

So installieren und spielen Sie Doom unter Linux
Einführung in Doom Die Doom-Serie entstand in den 90er Jahren nach der Veröffentlichung des ursprünglichen Doom. Es war sofort ein Hit und seitdem hat...
Vulkan für Linux-Benutzer
Mit jeder neuen Grafikkartengeneration stoßen Spieleentwickler an die Grenzen der grafischen Wiedergabetreue und kommen dem Fotorealismus einen Schrit...
OpenTTD vs. Simutrans
Das Erstellen einer eigenen Transportsimulation kann Spaß machen, entspannend und äußerst verlockend sein. Deshalb sollten Sie so viele Spiele wie mög...