Zum Inhalt springen

PHP-Reguläre Ausdrücke

PHP ist eine leistungsstarke serverseitige Skriptsprache, die Entwicklern das Erstellen dynamischer und interaktiver Webseiten ermöglicht. Eine ihrer nützlichsten Funktionen ist die Unterstützung für reguläre Ausdrücke, die eine Möglichkeit bieten, Muster in Zeichenfolgen zu finden.

Was sind reguläre Ausdrücke

Reguläre Ausdrücke sind Zeichenfolgen, die ein Suchmuster definieren. Sie werden verwendet, um Zeichenfolgen zu finden und zu manipulieren, und können ein leistungsstarkes Werkzeug zur Validierung von Benutzereingaben, zur Textsuche und mehr sein.

Wie reguläre Ausdrücke in PHP funktionieren

In PHP werden reguläre Ausdrücke durch die preg_-Funktionsfamilie unterstützt. Diese Funktionen ermöglichen verschiedene Operationen mit regulären Ausdrücken, einschließlich der Suche, des Ersetzens und des Aufteilens von Zeichenfolgen.

Häufig verwendete preg_-Funktionen

FunktionBeschreibung
preg_match()Sucht eine Zeichenfolge nach einem Treffer, gibt true oder false zurück
preg_match_all()Sucht eine Zeichenfolge nach allen Treffern, gibt die Anzahl der gefundenen Treffer zurück
preg_replace()Sucht eine Zeichenfolge nach Treffern und ersetzt sie durch eine angegebene Zeichenfolge
preg_split()Teilt eine Zeichenfolge basierend auf einem regulären Ausdrucks-Muster in ein Array auf

Grundlagen der PHP-Regulären Ausdrücke

Die grundlegende Syntax eines PHP-Regulären Ausdrucks lautet wie folgt:

PHP-Regulärer Ausdruck zum Ersetzen von Text

php
/pattern/modifiers

Dabei steht pattern für die zu suchende Zeichenfolge und modifiers sind optionale Buchstaben, die das Verhalten des regulären Ausdrucks verändern. Zu den am häufigsten verwendeten Modifiern in PHP gehören:

  • i: Macht den regulären Ausdruck case-insensitive (Groß-/Kleinschreibung ignorieren)
  • m: Behandelt die Zeichenfolge als mehrere Zeilen
  • s: Behandelt die Zeichenfolge als einzelne Zeile
  • u: Behandelt die Zeichenfolge als UTF-8-codiert

PHP-Regulärer Ausdruck zum Ersetzen von Text

php
<?php

$text = "Hello World";
$result = preg_replace("/World/", "PHP", $text);
echo $result; // Outputs: Hello PHP

?>

Verwenden von PHP-Regulären Ausdrücken zur Validierung von Benutzereingaben

Eine der häufigsten Anwendungen von regulären Ausdrücken in PHP ist die Validierung von Benutzereingaben. Beispielsweise können Sie einen regulären Ausdruck verwenden, um sicherzustellen, dass eine eingegebene E-Mail-Adresse im korrekten Format vorliegt. Der folgende Code zeigt, wie dies umgesetzt werden kann:

PHP-Regulärer Ausdruck zur Überprüfung des Formats einer eingegebenen E-Mail-Adresse

php
<?php

$email = "[email protected]";
if (preg_match("/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/", $email)) {
    echo "Valid email address";
} else {
    echo "Invalid email address";
}

?>

Hinweis: Während dieser reguläre Ausdruck für grundlegende Validierungen funktioniert, bietet PHP die integrierte Funktion filter_var($email, FILTER_VALIDATE_EMAIL) für eine robustere, RFC-konforme E-Mail-Validierung.

Fortgeschrittene Techniken für PHP-Reguläre Ausdrücke

Während die Grundlagen von PHP-Regulären Ausdrücken überschaubar sind, gibt es viele fortgeschrittene Techniken, mit denen Sie Ihre Fähigkeiten auf das nächste Level heben können. Dazu gehören:

  • Erfassen von Gruppen (Capturing Groups), um bestimmte Teile eines Treffers zu extrahieren
  • Verwenden von nicht erfassenden Gruppen (Non-capturing Groups), um Muster zu gruppieren
  • Verwenden von Lookahead- und Lookbehind-Assertions, um Muster basierend auf dem davor oder danach stehenden Text zu finden
  • Verwenden von Alternativen (Alternation), um mehrere Muster zu finden
  • Verwenden von Quantifiern, um eine bestimmte Anzahl von Wiederholungen eines Musters zu finden

PHP-Regulärer Ausdruck mit erfassenden Gruppen

php
<?php

$text = "Order #12345 placed on 2023-10-01";
if (preg_match("/Order #(\d+)/", $text, $matches)) {
    echo "Order ID: " . $matches[1]; // Outputs: Order ID: 12345
}

?>

Fazit

PHP-Reguläre Ausdrücke sind ein leistungsstarkes Werkzeug, das Ihnen bei einer Vielzahl von Aufgaben helfen kann. Egal, ob Sie Benutzereingaben validieren, Texte durchsuchen oder komplexe Zeichenfolgenoperationen durchführen – reguläre Ausdrücke sind ein unverzichtbarer Bestandteil im Werkzeugkasten eines PHP-Entwicklers.

Practice

Welche Verwendungszwecke haben Reguläre Ausdrücke in PHP laut dem verlinkten Artikel?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.