preg_replace
POSIX Regex
PCRE-Funktionen
PHP Manual

# preg_split

(PHP 4, PHP 5)

preg_split — Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks

### Beschreibung

array preg_split ( string `$pattern` , string `$subject` [, int `$limit` = -1 [, int `$flags` = 0 ]] )

Zerlegt die angegebene Zeichenkette anhand eines regulären Ausdrucks.

### Parameter-Liste

`pattern`

  Der Ausdruck, nach dem gesucht werden soll, als Zeichenkette.

`subject`

  Die zu zerlegende Zeichenkette.

`limit`

  Falls angegeben, werden maximal `limit` Teilzeichenketten zurückgegeben, wobei der Rest der Zeichenkette in der letzten Teilzeichenkette abgelegt wird. Ein `limit` von -1, 0 oder `NULL` bedeutet "kein Limit" und wie es in PHP Standard ist, kann `NULL` verwendet werden um den Parameter `flags` zu überspringen.

`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 `subject` als Element 1 besteht.

### Rückgabewerte

Gibt ein Array zurück, bestehend aus Teilzeichenketten der Zeichenkette `subject`, die an den auf das Suchmuster `pattern` 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

### Beispiele

Beispiel #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, -1, PREG_SPLIT_NO_EMPTY);
print_r($zeichen);
?>`

Beispiel #3 Eine Zeichenkette in Übereinstimmungen mit dem Suchmuster und deren Versatz zerlegen

`<?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.

### Siehe auch

- PCRE-Suchmuster
- implode() - Verbindet Array-Elemente zu einem String
- preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
- preg_match_all() - Führt eine umfassende Suche nach Übereinstimmungen mit regulärem Ausdruck durch
- preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
- preg_last_error() - Liefert den Fehlercode der letzten PCRE RegEx-Auswertung

preg_replace
POSIX Regex
PCRE-Funktionen
PHP Manual