Function.preg-split
Aus PHP-Wiki
preg_split — Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks
Inhaltsverzeichnis |
Beschreibung
array preg_split ( string $Suchmuster , string $Zeichenkette [, int $Limit [, int $Flags ]] )
Zerlegt die angegebene Zeichenkette anhand eines regulären Ausdrucks.
Parameter-Liste
- Suchmuster
- Der Ausdruck nach dem gesucht werden soll als Zeichenkette
- Zeichenkette
- Die zu zerlegende Zeichenkette
- Limit
- Falls angegeben, werden maximal Limit Teilzeichenketten zurückgegeben und falls Limit -1 ist, bedeutet das "kein Limit", was für die Angabe von Flags sinnvoll ist.
- Flags
- Flags kann jede Kombination der folgenden Flags sein (verknüpft mit dem bitweisen | Operator): PREG_SPLIT_NO_EMPTY Falls dieses Flag gesetzt ist, werden von preg_split() nur die Teile zurückgegeben, die nicht leer sind. PREG_SPLIT_DELIM_CAPTURE Falls dieses Flag gesetzt ist, werden auch die eingeklammerten Ausdrücke des Trennsymbol-Suchmusters erfasst und zurückgegeben. PREG_SPLIT_OFFSET_CAPTURE 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.
Rückgabewerte
Gibt ein Array zurück, bestehend aus Teilzeichenketten der Zeichenkette , die an den auf das Suchmuster passenden Stellen zerlegt wurde.
ChangeLog
Version
Beschreibung
4.3.0
Das Flag PREG_SPLIT_OFFSET_CAPTURE hinzugefügt
4.0.5
Das Flag PREG_SPLIT_DELIM_CAPTURE hinzugefügt
4.0.0
Den Parameter Flags
hinzugefügt
Beispiele
=== #1 preg_split() Beispiel: Eine Zeichenkette in ihre Bestandteile zerlegen
<?php // zerlegt die Zeichenkette an Stellen mit beliebiger Anzahl von // Kommata oder Leerzeichen, die " ", \r, \t, \n und \f umfassen $schluesselwoerter = preg_split("/[\s,]+/", "hypertext language, programming"); ?>
Beispiel #2 Eine Zeichenkette in einzelne Zeichen zerlegen
<?php $str = 'Zeichenkette'; $zeichen = preg_split('//', $str,=== <source lang="php"> <?php $str = 'hypertext language programming'; $zeichen = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE); print_r($zeichen); ?>
Das oben gezeigte Beispiel erzeugt folgende
Ausgabe:Array ( [0] => Array ( [0] => hypertext [1] => 0 ) [1] => Array ( [0] => language [1] => 10 ) [2] => Array ( [0] => programming [1] => 19 ) )
Anmerkungen
Tipp Falls Sie die Leistung regulärer Ausdrücke nicht benötigen, können Sie stattdessen schnellere (wenngleich einfachere) Alternativen wie explode() oder str_split() verwenden.