Function.split
Aus PHP-Wiki
split — Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks in ein Array
Inhaltsverzeichnis |
Beschreibung
array split ( string $Suchmuster , string $Zeichenkette [, int $Beschränkung ] )
Zerlegt Zeichenkette
anhand eines regulären
Ausdrucks in ein Array.
Parameter-Liste
- Suchmuster
- Regulärer Ausdruck mit Berücksichtigung der Groß- und Kleinschreibung Wenn Sie eine Zerlegung an Zeichen vornehmen, die in regulären Ausdrücken als besondere Zeichen betrachtet werden, müssen Sie diese entsprechend kennzeichnen. Wenn Sie der Ansicht sind, split() (oder, bei diesem Thema, eine andere Regex-Funktion) verhalte sich seltsam, lesen Sie bitte die Datei regex.7, die sich im regex/ Unterverzeichnis ihrer PHP-Distribution befindet. Da sie im manpage-Fomat vorliegt, sollten Sie einen Befehl der Art man /usr/local/src/regex/regex.7 verwenden, um sie zu lesen.
- Zeichenkette
- Die zu durchsuchende Zeichenkette
- Beschränkung
- Wenn Beschränkung gesetzt wurde, enthält das zurückgegebene Array höchstens Beschränkung Elemente, von denen das letzte den ganzen Rest von Zeichenkette enthält.
Rückgabewerte
Gibt ein Array mit Zeichenketten zurück, die jeweils eine Teilzeichenkette
von Zeichenkette
sind. Diese Teilzeichenketten
entstehen durch Zerlegung von Zeichenkette
an den
durch den regulären Ausdruck Suchmuster
bestimmten
Stellen unter Berücksichtigung der Groß- und Kleinschreibung.
Wenn Suchmuster
n mal
vorkommt, enhält das zurückgegebene Array
n+1 Elemente. Kommt
Suchmuster
zum Beispiel überhaupt nicht vor, wird
ein Array mit nur einem Element zurückgegeben. Das gilt natürlich auch,
wenn Zeichenkette
leer ist. Bei Auftreten eines
Fehlers gibt split() FALSE zurück.
Beispiele
Beispiel #1 split() Beispiel
Um die ersten vier Felder einer Zeile von /etc/passwd abzuspalten:
<?php list($user, $pass, $uid, $gid, $extra) = split(":", $passwd_line, 5); ?>
Beispiel #2 split() Beispiel
Um ein Datum zu analysieren, das durch Schrägstriche, Punkte oder Bindestriche getrennt ist:
<?php // Trennzeichen darf ein Schrägstrich, Punkt oder Bindestrich sein $datum = "04/30/1973"; list ($monat, $tag, $jahr) = split('[/.-]', $datum); echo "Monat: $monat; Tag: $tag; Jahr: $jahr<br />\n"; ?>
Anmerkungen
Tipp Die Funktion preg_split(), die eine zu Perl kompatible Syntax regulärer Ausdrücke verwendet, ist häufig die schnellere Alternative zu split(). Wenn Sie die Fähigkeiten regulärer Ausdrücke nicht benötigen, ist die Verwendung von explode() schneller, weil diese Funktion nicht unter der Last der Engine für reguläre Ausdrücke steht. Tipp Wenn Sie nach einer Möglichkeit suchen, das Verhalten von Perls @chars = split('', $str) nachzuahmen, schauen Sie sich bitte die Beispiele für preg_split() oder str_split() an.