Durchsucht Zeichenkette
nach Übereinstimmungen mit
dem in Suchmuster
angegebenen regulären Ausdruck.
Suchmuster
Der Ausdruck nach dem gesucht werden soll als Zeichenkette
Zeichenkette
Die zu durchsuchende Zeichenkette
Treffer
Falls der Parameter Treffer
angegeben wurde,
wird er mit den Suchergebnissen gefüllt. $treffer[0]
enthält dann den Text, der auf das komplette Suchmuster passt,
$treffer[1]
den Text, der auf das erste
eingeklammerte Teilsuchmuster passt und so weiter.
Flags
Flags
kann das folgende Flag sein:
Falls dieses Flag gesetzt ist, wird mit jeder gefundenen
Übereinstimmung der dazugehörige Versatz in der Zeichenkette
zurückgegeben. Beachten Sie, dass dies die Rückgabewerte in einem
Array dahingehend ändert, dass jedes Element ein Array ist, das aus
der übereinstimmenden Zeichenkette als Element 0
und deren Stelle in Zeichenkette
als Element
1 besteht.
Versatz
Normalerweise beginnt die Suche am Anfang der Zeichenkette. Der
optionale Parameter Versatz
kann verwendet
werden, um eine andere Stelle anzugeben, ab der gesucht werden soll.
Anmerkung: Die Verwendung von
Versatz
entspricht nicht der Übergabe von substr($zeichenkette, $versatz) an Stelle der zu Zeichenkette an preg_match(), weilSuchmuster
Angaben wie zum Beispiel ^, $ oder (?<=x) enthalten kann. Vergleiche:
<?php
$zeichenkette = "abcdef";
$suchmuster = '/^def/';
preg_match($suchmuster, $zeichenkette, $treffer, PREG_OFFSET_CAPTURE, 3);
print_r($treffer);
?>Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Array ( )während dieses Beispiel
<?php
$zeichenkette = "abcdef";
$suchmuster = '/^def/';
preg_match($suchmuster, substr($zeichenkette,3), $treffer, PREG_OFFSET_CAPTURE);
print_r($treffer);
?>folgende Ausgabe erzeugt
Array ( [0] => Array ( [0] => def [1] => 0 ) )
preg_match() gibt die Anzahl der Übereinstimmungen mit
Suchmuster
zurück. Das ist entweder 0 (keine
Übereinstimmung) oder 1, weil preg_match() die Suche
nach der ersten Übereinstimmung beendet. Im Gegensatz dazu setzt
preg_match_all() die Suche bis zum Ende von
Zeichenkette
fort. preg_match()
gibt FALSE zurück, falls ein Fehler auftrat.
Beispiel 2. Die Zeichenkette "web" finden
|
Beispiel 3. Den Domänen-Namen aus einer URL holen
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
|
Zurück | Zum Anfang | Weiter |
preg_match_all | Nach oben | preg_quote |