. .

PHP • Perl Compatible Regular Expressions

PHP - PCRE Funktionen

Perl Compatible Regular Expressions Funktionen sind eine Programmbibliothek zur Auswertung von Regulären Ausdrücken, deren Syntax den Ausdrücken der Programmiersprache Perl entliehen wurde.


Reguläre Ausdrücke, auch Regex oder RegExp genannt, sind Zeichenketten, die die Mengen bzw. Teilmengen von Zeichenketten mit Hilfe von syntaktischen Regeln beschreiben. » Erklärung zu Regulären Ausdrücken / Regular Expressionsweitergehende Erklärung zu Regulären Ausdrücken und » Beispiele zur Anwendung von Regulären Ausdrücken in PHPBeispiele von Regulären Ausdrücken in PHP


preg_match()


Die Funktion preg_match() führt eine Suche an Hand eines regulären Ausdruck durch und findet genau eine Übereinstimmung.

Zur Erklärung:

preg_match ( $pattern , $string [, array & $matches [, int $flags [, int $offset ]]] )

Der erste Parameter ($pattern) definiert das Suchmuster welches in $string gesucht werden soll

Der dritte Parameter ($matches) enthält die Such- und Teilsuchergebnisse.
Ist $matches angegeben, enthält
$matches[0] den Text (Ergebnis), der auf das komplette Suchmuster zutrifft,
$matches[1] den Text (Ergebnis), der auf das erste eingeklammerte Teilsuchmuster zutrifft
$matches[2] das folgende eingeklammerte Teilsuchmuster u.s.w.

Der vierte Parameter ($flags) kann PREG_OFFSET_CAPTURE sein.
Achtung! bei Verwendung von $flags wird $matches in ein Array geändert, in dem jedes Element ein Array ist. Ist $flags PREG_OFFSET_CAPTURE angegeben, wird mit jeder gefundenen Übereinstimmung der dazugehörige Versatz in der Zeichenkette zurückgegeben.

Der fünfte Parameter ($offset) legt in Bytes die Anfangsposition fest, ab der gesucht werden soll.

Ein Beispiel:

<?php

preg_match ( $pattern , $string [, array & $matches [, int $flags [, int $offset ]]] )
preg_match('/\d\d\d/', '1234567890', ' $matches ', PREG_OFFSET_CAPTURE, 5); //Das Beispiel erzeugt folgende Ausgabe:

Array ( [0] => Array ( [0] => 678 [1] => 5 ) )
preg_match('/[0-9]{3}/', '1234567890', ' $matches ', PREG_OFFSET_CAPTURE, 5); //Das Beispiel erzeugt folgende Ausgabe:

Array ( [0] => Array ( [0] => 678 [1] => 5 ) ) ?>

preg_match_all()


Die Funktion preg_match_all() führt eine Suche an Hand eines regulären Ausdruck durch und findet alle Übereinstimmungen.

Zur Erklärung:

preg_match_all ( $pattern , $string [, array & $matches [, int $flags [, int $offset ]]] )

Der erste Parameter ($pattern) definiert das Suchmuster welches in $string gesucht werden soll

Der dritte Parameter ($matches) enthält die Such- und Teilsuchergebnisse.
Ist $matches angegeben, enthält
$matches[0] den Text (Ergebnis), der auf das komplette Suchmuster zutrifft,
$matches[1] den Text (Ergebnis), der auf das erste eingeklammerte Teilsuchmuster zutrifft
$matches[2] das folgende eingeklammerte Teilsuchmuster u.s.w.

Der vierte Parameter ($flags) - definiert die Ordnung der Ergebnisse.
Achtung! bei Verwendung von $flags wird $matches in ein Array geändert, in dem jedes Element ein Array ist.

Ist $flags PREG_PATTERN_ORDER angegeben, werden die Ergebnisse so geordnet, dass
$matches[0] den Text (Ergebnis), der auf das komplette Suchmuster zutrifft,
$matches[1] den Text (Ergebnis), der auf das erste eingeklammerte Teilsuchmuster zutrifft
$matches[2] das folgende eingeklammerte Teilsuchmuster u.s.w.

Ist $flags PREG_SET_ORDER angegeben, werden die Ergebnisse so geordnet, dass
$matches[0] den Text (Ergebnis), der auf den ersten Satz von Übereinstimmungen zutrifft,
$matches[1] den Text (Ergebnis), der auf den Satz von Übereinstimmungen zutrifft,
$matches[2] die folgenden Übereinstimmungen zutrifft u.s.w.

Ist $flags PREG_OFFSET_CAPTURE angegeben, wird mit jeder gefundenen Übereinstimmung der dazugehörige Versatz in der Zeichenkette zurückgegeben.

Der fünfte Parameter ($offset) legt in Bytes die Anfangsposition fest, ab der gesucht werden soll.

Ein Beispiel:

<?php

preg_match_all('/[0-9]{3}/', '1234567890', ' $matches ', PREG_PATTERN_ORDER); //Das Beispiel erzeugt folgende Ausgabe:

Array ( [0] => Array ( [0] => 123 [1] => 456 [2] => 789 ) )
preg_match_all('/[0-9]{3}/', '1234567890', ' $matches ', PREG_SET_ORDER); //Das Beispiel erzeugt folgende Ausgabe:

Array ( [0] => Array ( [0] => 123 ) [1] => Array ( [0] => 456 ) [2] => Array ( [0] => 789 ) )
preg_match_all('/[0-9]{3}/', '1234567890', ' $matches ', PREG_OFFSET_CAPTURE); //Das Beispiel erzeugt folgende Ausgabe:

Array ( [0] => Array ( [0] => Array ( [0] => 123 [1] => 0 ) [1] => Array ( [0] => 456 [1] => 3 ) [2] => Array ( [0] => 789 [1] => 6 ) ) )
preg_match_all('/[0-9]{3}/', '1234567890', ' $matches '); for($i=0; $i<$erg_preg_match_all; $i++) { print $matches[0][$i] .'<br />'; } //Das Beispiel erzeugt folgende Ausgabe:

123
456
789
?>

preg_replace()


Die Funktion preg_replace() sucht und ersetzt an Hand von regulären Ausdrücken.

Zur Erklärung:

preg_replace ( $pattern , $ersatzstring, $string [, int $limit [, int &$count ]] )

Der erste Parameter ($pattern) definiert das Suchmuster welches in $string gesucht werden soll

Der zweite Parameter ($ersatzstring) definiert die zu ersetzende Zeichenkette oder das Array mit Zeichenketten.

Der vierte Parameter ($limit) definiert die maximal mögliche Anzahl von Ersetzungen für jedes Suchmuster. Standardmäßiger Wert: -1 (kein Limit).

Der fünfte Parameter ($count) gibt, falls angegeben die Anzahl vorgenommener Ersetzungen zurück.

Ein Beispiel:

<?php
preg_replace('/456/', '***', '1234567890', -1 , 0);
//Das Beispiel erzeugt folgende Ausgabe:

123***7890 - 1 ?>

Weitere hilfreiche Informationen zum Thema PCRE-Funktionen finden sich unter www.php.net - PCRE-Funktionenwww.php.net.

PCRE-Funktionen
preg_filterpreg_filterSucht und ersetzt mit regulären Ausdrücken
preg_greppreg_grepLiefert Array-Elemente, die auf ein Suchmuster passen
preg_last_errorpreg_last_errorLiefert den Fehlercode der letzten PCRE RegEx-Auswertung
preg_quotepreg_quoteMaskiert Zeichen regulärer Ausdrücke
preg_replace_callbackpreg_replace_callbackSucht und ersetzt einen regulären Ausdruck unter Verwendung eines Callbacks
preg_splitpreg_splitZerlegt eine Zeichenkette anhand eines regulären Ausdrucks


» zum Seitenanfang

Tipps & Tricks

mehr zum Thema: nächster und vorheriger EintragMySQL nächsten und vorherigen Datensatz

Den alphabetisch nächsten und vorherigen Datensatzes aus einer Datenbank ermitteln und in alphatischer Reihenfolge den nächsten und vorherigen Datensatz ausgeben.

» mehr zum Thema: nächster und vorheriger Eintragmehr lesen

mehr zum Thema: Teil eines Datensatzes suchen und ersetzenMySQL Teilstring suchen und ersetzen

In einer Datenbanktabelle einen bestimmten Teil eines Strings suchen und diesen dann auszutauschen.

» mehr zum Thema: Teil eines Datensatzes suchen und ersetzenmehr lesen

mehr zum Thema: Browser & IP-Adresse indentifizierenPHP Browser identifizieren

Beim Aufruf einer Website sendet jeder Browser eine Kennung, die dem Server angibt, um welchen "User-Agent" es sich handelt.

» mehr zum Thema: Browser & IP-Adresse indentifizierenmehr lesen

mehr zum Thema: Datum und UhrzeitfunktionPHP Datum und Zeit

Für zeitgesteuerte Inhalte sind Datum- und Uhrzeitfunktionen unerlässlich. Grundlage bildet der von Unix-Systemen verwendete Timestamp.

» mehr zum Thema: Datum und Uhrzeitfunktionmehr lesen

mehr zum Thema: Anzahl Zeichen im String ermittelnPHP Zeichen & Wörter zählen

Häufig genügt es zu wissen, wie viele Zeichen der Text beinhaltet, php kann jedoch weitaus mehr.

» mehr zum Thema: Anzahl Zeichen im String ermittelnmehr lesen

mehr zum Thema: Zeichen & Zeichenfolgen ersetzenPHP Zeichen ersetzen

Häufig ist es notwendig mehrere Zeichen oder Zeichenfolgen innerhalb eines Strings zu ersetzen.

» mehr zum Thema: Zeichen & Zeichenfolgen ersetzenmehr lesen

mehr zum Thema: HTML-Entity - Maskierungen für SonderzeichenPHP HTML-Entities

Standardkonformer HTML-Code erfordert eine korrekte Ausgabe sämtlicher Literalen, dazu gehören auch und vor allem soggenannte HTML-Entity.

» mehr zum Thema: HTML-Entity - Maskierungen für Sonderzeichenmehr lesen

mehr zum Thema: Farbwerte von RGB nach HEX bzw. HEX nach RGBPHP RGB/HEX-Umrechner

Um die Farben einzelner Elemente auf Webseiten festzulegen, gibt es zwei Möglichkeiten. Die Farben können als RGB-Werte im Hexadezimalformat oder ...

» mehr zum Thema: Farbwerte von RGB nach HEX bzw. HEX nach RGBmehr lesen

mehr zum Thema: Perl Compatible Regular ExpressionsPHP PCRE-Funktionen

Die PHP PCREInformationBedeutung: PCREPerl Compatible Regular Expressions Funktionen sind eine Programmbibliothek zur Auswertung von Regulären Ausdrücken ...

» mehr zum Thema: Perl Compatible Regular Expressionsmehr lesen

mehr zum Thema: Regular Expressions / RegExpPHP Reguläre Ausdrücke

Reguläre Ausdrücke, auch Regex oder RegExp genannt, sind Zeichen- ketten, die ...

» mehr zum Thema: Regular Expressions / RegExpmehr lesen

mehr zum Thema: Regular Expressions / RegExpRegEx Beispiele

Praxisbzogene Regular Expression Beispiele für die Anwendung in PHP.

» mehr zum Thema: Regular Expressions / RegExpmehr lesen


Tastaturkürzel