(PHP 3 >= 3.0.9, PHP 4, PHP 5)
preg_match_all -- Führt eine umfassende Suche nach Übereinstimmungen mit regulärem Ausdruck durch
Durchsucht Zeichenkette nach allen Übereinstimmungen
mit dem in Suchmuster angegebenen regulären Ausdruck
und legt sie in der durch Flags festgelegten
Reihenfolge in Treffer ab.
Nachdem die erste Übereinstimmung gefunden wurde, wird die nachfolgende Suche jeweils am Ende der letzten Übereinstimmung fortgesetzt.
SuchmusterDer Ausdruck nach dem gesucht werden soll als Zeichenkette
ZeichenketteDie zu durchsuchende Zeichenkette
matches
In diesem Fall ist $treffer[0] der erste Satz von Übereinstimmungen und
$treffer[0][0] enthält den Text, der auf das
komplette Suchmuster passt, $treffer[0][1] den Text,
der auf das erste Teilsuchmuster passt und so weiter. Auf die gleiche
Weise ist $treffer[1] der zweite Satz von
Übereinstimmungen etc.
FlagsKann eine Kombination folgender Flags sein (beachten Sie, dass es keinen Sinn hat, PREG_PATTERN_ORDER zusammen mit PREG_SET_ORDER zu verwenden):
Ordnet die Ergebnisse so an, dass $treffer[0] ein Array von Übereinstimmungen mit dem kompletten Suchmuster ist, $treffer[1] ein Array von Zeichenketten, die auf das erste eingeklammerte Teilsuchmuster passen und so weiter.
<?php |
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
<b>Beispiel: </b>, <div align=left>das ist ein Test</div> Beispiel: , das ist ein Test |
Also enthält $ausgabe[0] ein Array von Zeichenketten, die auf das komplette Suchmuster passen und $ausgabe[1] ein Array von Zeichenketten, die sich zwischen Tags befinden.
Ordnet die Ergebnisse so an, dass $treffer[0] ein Array aus dem ersten Satz von Übereinstimmungen ist, $treffer[1] ein Array aus dem zweiten Satz von Übereinstimmungen und so weiter.
<?php |
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
<b>Beispiel: </b>, Beispiel: <div align="left">das ist ein Test</div>, das ist ein Test |
Wenn dieses Flag gesetzt ist, wird mit jeder gefundenen
Übereinstimmung der dazugehörige Versatz in der Zeichenkette
zurückgegeben. Beachten Sie, dass dies den Wert von
Treffer 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.
Falls kein Flag für die Anordnung angegeben wurde, wird PREG_PATTERN_ORDER angenommen.
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
Versatzentspricht nicht der Übergabe von substr($zeichenkette, $versatz) an Stelle der Zeichenkette an preg_match_all(), weilSuchmusterAngaben wie zum Beispiel ^, $ oder (?<=x) enthalten kann. Für Beispiele siehe preg_match().
Gibt die Anzahl der Übereinstimmungen mit dem kompletten Suchmuster zurück (die auch Null sein kann) oder FALSE, falls ein Fehler auftrat.
| Zurück | Zum Anfang | Weiter |
| preg_last_error | Nach oben | preg_match |