(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.
Suchmuster
Der Ausdruck nach dem gesucht werden soll als Zeichenkette
Zeichenkette
Die 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.
Flags
Kann 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
Versatz
entspricht nicht der Übergabe von substr($zeichenkette, $versatz) an Stelle der Zeichenkette an preg_match_all(), weilSuchmuster
Angaben 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 |