PHP Regular Expression / Regex: preg_match () - preg_replace ()

Inhaltsverzeichnis:

Anonim

Was ist regulärer Ausdruck in PHP?

PHP Regular Expression, auch als Regex bekannt, ist ein leistungsstarker Mustervergleichsalgorithmus, der in einem einzelnen Ausdruck ausgeführt werden kann. Reguläre Ausdrücke verwenden arithmetische Operatoren wie (+, -, ^), um komplexe Ausdrücke zu erstellen. Sie können Ihnen dabei helfen, Aufgaben wie das Überprüfen von E-Mail-Adressen, IP-Adressen usw. auszuführen.

Warum reguläre Ausdrücke verwenden?

  • PHP Reguläre Ausdrücke vereinfachen das Identifizieren von Mustern in Zeichenfolgendaten durch Aufrufen einer einzelnen Funktion. Dies spart uns Codierungszeit.
  • Bei der Überprüfung von Benutzereingaben wie E-Mail-Adresse, Domain-Namen, Telefonnummern, IP-Adressen,
  • Hervorheben von Schlüsselwörtern in Suchergebnissen
  • Beim Erstellen einer benutzerdefinierten HTML-Vorlage. Regex in PHP kann verwendet werden, um die Vorlagen-Tags zu identifizieren und durch tatsächliche Daten zu ersetzen.

In diesem PHP Regex-Tutorial lernen Sie:

  • Integrierte Funktionen für reguläre Ausdrücke in PHP
  • PHP Preg_match ()
  • PHP Preg_split ()
  • PHP Preg_replace ()
  • Metazeichen für reguläre Expression
  • Das Muster erklären

Integrierte Funktionen für reguläre Ausdrücke in PHP

PHP verfügt über integrierte Funktionen, mit denen wir mit regulären Funktionen arbeiten können, die wir in diesem Tutorial zu regulären PHP-Ausdrücken lernen werden. Schauen wir uns die in PHP häufig verwendeten Funktionen für reguläre Ausdrücke an.

  • preg_match () in PHP - Diese Funktion wird verwendet, um einen Mustervergleich in PHP für eine Zeichenfolge durchzuführen. Es wird true zurückgegeben, wenn eine Übereinstimmung gefunden wird, und false, wenn keine Übereinstimmung gefunden wird.
  • preg_split () in PHP - Diese Funktion wird verwendet, um eine Musterübereinstimmung für eine Zeichenfolge durchzuführen und die Ergebnisse dann in ein numerisches Array aufzuteilen
  • preg_replace () in PHP - Diese Funktion wird verwendet, um eine Musterübereinstimmung für eine Zeichenfolge durchzuführen und die Übereinstimmung dann durch den angegebenen Text zu ersetzen.

Unten finden Sie die Syntax für eine Funktion für reguläre Ausdrücke wie PHP preg_match (), PHP preg_split () oder PHP preg_replace ().

HIER,

  • "Funktionsname (…)" ist entweder PHP preg_match (), PHP preg_split () oder PHP preg_replace ().
  • "/… /" Die Schrägstriche kennzeichnen den Anfang und das Ende unserer PHP-Regex-Testerfunktion
  • "'/ pattern /'" ist das Muster, das wir abgleichen müssen
  • "subject" ist die Textzeichenfolge, mit der abgeglichen werden soll

Schauen wir uns nun praktische Beispiele an, die die obigen PHP-Regex-Funktionen implementieren.

PHP Preg_match ()

Im ersten Beispiel wird die Funktion preg_match () in PHP verwendet, um eine einfache Musterübereinstimmung für das Wort Guru in einer bestimmten URL durchzuführen.

Der folgende Code zeigt die Implementierung der Testerfunktion preg_match () für das obige Beispiel.

Navigieren Sie zur URL http: //localhost/phptuts/preg_match_simple.php

Lassen Sie uns den Teil des Codes, der für unsere Ausgabe "preg_match ('/ guru /', $ my_url)" verantwortlich ist, HIER untersuchen.

  • "preg_match (…)" ist die PHP-Regex-Funktion
  • "'/ guru /'" ist das Muster für reguläre Ausdrücke, das abgeglichen werden soll
  • "$ my_url" ist die Variable, die den Text enthält, mit dem abgeglichen werden soll.

Das folgende Diagramm fasst die obigen Punkte zusammen

PHP Preg_split ()

Schauen wir uns nun ein anderes Beispiel an, das preg_split () in der PHP-Funktion verwendet.

Wir werden eine Zeichenkettenphrase nehmen und sie in ein Array auflösen. Das zuzuordnende Muster ist ein einzelnes Leerzeichen.

Die in diesem Beispiel zu verwendende Textzeichenfolge lautet "I Love Regular Expressions".

Der folgende Code veranschaulicht die Implementierung des obigen Beispiels.

Navigieren Sie zur URL http: //localhost/phptuts/preg_split.php

PHP Preg_replace ()

Schauen wir uns nun die Funktion preg_replace () in der PHP an, die eine Musterübereinstimmung durchführt und das Muster dann durch etwas anderes ersetzt.

Der folgende Code sucht nach dem Wort Guru in einer Zeichenfolge.

Es ersetzt das Wort Guru durch das Wort Guru, das von CSS-Code umgeben ist, der die Hintergrundfarbe hervorhebt.

Angenommen, Sie haben die Datei preg_replace.php gespeichert, Browser unter der URL http: //localhost/phptuts/preg_replace.php

Metazeichen für reguläre Expression

Die obigen Beispiele verwendeten sehr grundlegende Muster; Mit Metazeichen können wir einfach komplexere Musterübereinstimmungen durchführen, z. B. die Gültigkeit einer E-Mail-Adresse testen. Schauen wir uns nun die häufig verwendeten Metazeichen an.

Metazeichen Beschreibung Beispiel
. Entspricht einem einzelnen Zeichen mit Ausnahme einer neuen Zeile /./ entspricht allem, was ein einzelnes Zeichen hat
^ Entspricht dem Anfang von oder Zeichenfolge / schließt Zeichen aus / PH / stimmt mit jeder Zeichenfolge überein, die mit PH beginnt
$ Entspricht dem Muster am Ende der Zeichenfolge / com $ / entspricht guru99.com, yahoo.com Etc.
* * Entspricht null (0) oder mehr Zeichen / com * / passt zu Computer, Kommunikation usw.
+ Erfordert, dass vorhergehende Zeichen mindestens einmal erscheinen / yah + oo / passt zu Yahoo
\. Wird verwendet, um Metazeichen zu entkommen /yahoo+\.com/ behandelt den Punkt als wörtlichen Wert
[…] Zeichenklasse / [abc] / entspricht abc
az Entspricht Kleinbuchstaben / az / passt cool, fröhlich etc.
AZ Entspricht Großbuchstaben / AZ / passt zu WAS, WIE, WARUM usw.
0-9 Entspricht einer beliebigen Zahl zwischen 0 und 9 / 0-4 / entspricht 0,1,2,3,4

Die obige Liste enthält nur die am häufigsten verwendeten Metazeichen in regulären Ausdrücken.

Schauen wir uns nun ein ziemlich komplexes Beispiel an, das die Gültigkeit einer E-Mail-Adresse überprüft.

Erklären des Musters " ""

HIER,

  • "'/… /'" Startet und beendet den regulären Ausdruck
  • "[a-zA-Z0-9 ._-]" entspricht allen Klein- oder Großbuchstaben, Zahlen zwischen 0 und 9 und Punkten, Unterstrichen oder Strichen.
  • "+ @ [a-zA-Z0-9-]" entspricht dem @ -Symbol, gefolgt von Klein- oder Großbuchstaben, Zahlen zwischen 0 und 9 oder Bindestrichen.
  • "+ \. [a-zA-Z.] {2,5} $ /" wird mit dem Backslash aus dem Punkt entfernt und entspricht dann allen Klein- oder Großbuchstaben mit einer Zeichenlänge zwischen 2 und 5 am Ende der Zeichenfolge.

Navigieren Sie zur URL http: //localhost/phptuts/preg_match.php

Wie Sie dem obigen Beispiel entnehmen können, sind Metazeichen sehr leistungsfähig, wenn es um das Abgleichen von Mustern geht.

Zusammenfassung

  • Ein regulärer Ausdruck oder Regex in PHP ist ein Pattern-Match-Algorithmus
  • Reguläre Ausdrücke sind sehr nützlich, wenn Validierungsprüfungen durchgeführt, HTML-Vorlagensysteme erstellt werden, die Tags erkennen usw.
  • PHP hat Funktionen eingebaut, nämlich PHP preg_match (), PHP preg_split () und PHP preg_replace (), die reguläre Ausdrücke unterstützen.
  • Metazeichen ermöglichen es uns, komplexe Muster zu erstellen