Diese Funktion teilt Texte mit Hilfe eines Suchmusters auf. Wem also die Funktion
explode() nicht mächtig genug ist, sollte sich diese Funktion anschauen.
Die Syntax lautet:
int preg_split (string Suchmuster, string Zeichenkette [, int Limit [, int Flags]])
Die Funktion erwartet mindestens zwei Parameter, optional können noch zwei weitere angegeben werden.
- Suchmuster
- Der Reguläre Ausdruck samt Delimiter und Modifier
- Zeichenkette
- Der Text, der durchsucht werden soll
- Limit
- Optional, die maximale Anzahl an zurückgelieferten Teilen
- Flags
- Optional, erlaubt die Übergabe bestimmter Parameter
Als Rückgabe erhält man ein Array, welches die einzelnen Teile als Elemente enthält oder FALSE, falls ein Fehler auftrat.
Optionale Parameter
Neben den zwei benötigten Parameter kann man auch bei preg_split() noch zwei weitere angeben, die die Verarbeitung beeinflussen können.
Der Parameter Limit
Durch Angabe des Parameters Limit kann die maximale Anzahl der
erzeugten Teile bestimmt werden. Folgender Aufruf der Funktion
<?PHP
$teile = preg_split($pattern, $subject, 3);
?>
erzeugt zum Beispiel maximal 3 Teile.
Will man die Anzahl der erzeugten Teile nicht begrenzen, kann man den Parameter Limit einfach weglassen. Sollen jedoch als vierter Parameter noch Flags angegeben werden, muss für Limit -1 angegeben werden, was keiner Begrenzung der Teilezahl entspricht, aber die Angabe eines vierten Parameters ermöglicht.
Die Flags von preg_split()
Durch die Angabe des vierten Parameters kann man die Rückgabe von
preg_split() zusätzlich beeinflussen. Insgesamt können hier drei Flags notiert
werden, die auch beliebig miteinander kombiniert werden können. Sie müssen dann
über den Operator | verknüpft werden.
PREG_SPLIT_NO_EMPTY
Ist dieses Flag gesetzt, werden Teile, die leer sind, nicht zurückgegeben. Will man also keine Teile extrahieren, die dem Leerstring entsprechen, soll man dieses Flag benutzen. Damit spart man sich das anschließende Durchlaufen des erzeugten Arrays, um Leerstrings zu entfernen.
PREG_SPLIT_DELIM_CAPTURE
Ist dieses Flag gesetzt, werden zusätzlich zu den erzeugten Teilen die im Suchmuster definierten Unterausdrücke zurückgegeben.
PREG_SPLIT_OFFSET_CAPTURE
Ist dieses Flag gesetzt, werden neben den erzeugten Teilen noch die entsprechenden Positionen im Suchtext zurückgegeben. Man erhält nun wiederum ein Array als Rückgabe, allerdings sind die Elemente diesmal keine Strings sondern Arrays, die den jeweiligen Teil und die Position des Auftreten enthalten.
Verwandte Themen
Kapitelnavigation
- Letzte Änderung: 24.07.2010, 03:39:02
- © 2003 - 2010 nophia web