PHP String Split

Mit split in PHP ist es dem Programmierer möglich, einzelne Bestandteile aus einem String in ein Array zu überführen. Hierzu wird als erster Parameter von PHP string split ein regulärer Ausdruck angegeben, der festlegt, an welchen Zeichen oder Zeichenketten eine Trennung erfolgen soll. Hier kann ein einzelnes Zeichen – beispielsweise ein Leerzeichen – angegeben werden oder aber eine Zeichenfolge, mit der zur Trennung vorgesehene Zeichenketten definiert werden. Der zweiter Parameter beim Aufruf von PHP split gibt das durch die Funktion zu verarbeitende String an. Darüber hinaus akzeptiert split einen Integer-Parameter, der angibt, in wie viele Teile das String maximal unterteilt werden soll. Zurückgegeben wird ein Array, welches die einzelnen Teilstrings enthält. Der Zugriff erfolgt – wie bei Arrays üblich – per Indexposition.

Ähnlich wie split in PHP funktioniert auch die Split in JavaScript. Anders als split in PHP ist die unter JavaScript vorhandene Variante keine Funktion, sondern eine Methode des vordefinierten JavaScript-Objekts String. Ein weiterer Unterschied zu PHP string split ist der, dass die JavaScript-Version keine regulären Ausdrücke als Trenner verwendet, sondern lediglich einfache Zeichenketten.

PHP Split: String mit normalen Zeichen zerpflücken

Folgendes Script-Beispiel zeigt, wie Sie mit PHP array split ein angegebenes String in ein Feld umwandeln lassen können. Dabei wird in diesem Block lediglich ein einzelnes Zeichen als Trenner angegeben.

<?php
    // Variable zur Speicherung eines Teststrings
    $string = 'Ein Test für PHP Array Split. Das Ergebnis ist ein mit Strings gefülltes Array.';
    // PHP Array Split aus einem String
    // array ist eine Variable für das durch Split gelieferte Array
    // Als Trenner wird hier nur ein Leerzeichen vorgegeben, was dazu führt,
    // dass alle Teilstrings vor und nach einem Leerzeichen in ein Array-Element
    // abgelegt werden.
    $array = split (' ', $string);
    // Ausgabe des von PHP String Split gelieferten Arrays (formatiert durch
    // das HTML-Tag PRE)
    echo '<pre>';print_r ($array);echo '</pre>';

    // Und jetzt mal jeder Satz einzeln
    // Dabei ist zu beachten, dass der Punkt bei regulären Ausdrücken für ein
    // beliebiges Zeichen steht. Mit dem Slash vor dem Punkt wird dieser maskiert
    // (damit wird klar gestellt, dass das Zeichen und nicht ein Zeichen gemeint ist).
    // Ansonsten würde jedes einzelne Zeichen in einem Array-Element landen.
    $array = split ('\.', $string);
    // Und wieder das Ergebnis ausgeben...
    // Hier ist natürlich auch das Leerzeichen nach dem ersten Punkt enthalten
    // und nach dem letzten folgt ein leeres String
    echo '<pre>';print_r ($array);echo '</pre>';
?>

Array
(
  [0] => Ein
  [1] => Test
  [2] => für
  [3] => PHP
  [4] => Array
  [5] => Split.
  [6] => Das
  [7] => Ergebnis
  [8] => ist
  [9] => ein
  [10] => mit
  [11] => Strings
  [12] => gefülltes
  [13] => Array.
)

Array
(
  [0] => Ein Test für PHP Array Split
  [1] =>  Das Ergebnis ist ein mit Strings gefülltes Array
  [2] =>
)

Split in PHP: Nutzung regulärer Ausdrücke

Im nächsten Beispiel werden verschiedene reguläre Ausdrücke angegeben, die von PHP array split als Trenner genutzt werden. Zusätzlich gibt es ein Beispiel zur Nutzung des optionalen dritten Parameters, der von vorn herein festlegt, wieviele Teilstings maximal extrahiert werden sollen.

<?php
    // String, welches für die Verarbeitung vorgesehen ist
    $string = 'Der-die.Worte_immer+mit=einem%anderen!Zeichen(trennt';
    // Zeichenkette splitten
    // Hier wird alles, was kein Buchstabe ist als Trenner erkannt.
    // Die Klammern stehen für eine Zeichenklasse, die innerhalb der Klammer
    // aufgelistet ist.
    $arr = split ('[^a-zA-Z]', $string);
    echo '<pre>';print_r ($arr);echo '</pre>';

    // Splitten auf zwei Trennvorgänge beschränkt (insgesamt werden höchstens
    // drei Arrayelemente zurück geliefert). Hier werden lediglich die ersten
    // beiden Teilstrings extrahiert und das letzte Element enthält der Rest
    // der Zeichenkette.
    $arr = split ('[^a-zA-Z]', $string, 3);
    echo '<pre>';print_r ($arr);echo '</pre>';

    // Folgender Ausdruck definiert den Trenner als eine Reihe aufeinander
    // folgender Buchstaben (groß- und klein) - [a-zA-Z] legt die vorkommenden
    // Zeichen fest (a bis z und A bis Z), wobei die Klammern einen
    // Zeichenintervall darstellen. Mit dem + wird festgelegt, dass mehrere
    // der enthaltenen Zeichen aufeinander folgen müssen, damit ein Trennerstring
    // erkannt wird. Es resultiert ein Feld mit den enthaltenen Sonderzeichen
    // (und auch Ziffern, falls welche in der Zeichenkette enthalten sind).
    // Das erste und das letzte Element stellt dabei den Anfang bzw. das Ende
    // des Strings dar.
    $arr = split ('[a-zA-Z]+', $string);
    echo '<pre>';print_r ($arr);echo '</pre>';
?>

Array
(
  [0] => Der
  [1] => die
  [2] => Worte
  [3] => immer
  [4] => mit
  [5] => einem
  [6] => anderen
  [7] => Zeichen
  [8] => trennt
)

Array
(
  [0] => Der
  [1] => die
  [2] => Worte_immer+mit=einem%anderen!Zeichen(trennt
)

Array
(
  [0] =>
  [1] => -
  [2] => .
  [3] => _
  [4] => +
  [5] => =
  [6] => %
  [7] => !
  [8] => (
  [9] =>
)

Letzte Posts aus unserem Forum

Wer kennt .....

Hallo erstmal wer kennt von euch einen WEbprogrammieren,desginer der mir eine Seite erstellen kann ,Communityportal sowas in der art wie ... » mehr

von NCWebmaster am Mittwoch, 7. Oktober 2009 00:32 in PHP - bisher 2 Antworten
Letzter Beitrag: Montag, 17. Dezember 2012 16:57 von maharadja

...einen guten Onlineshop für Taufringe? Ich habe bisher Taufringe Direkt gefunden und wollte mal nachhaken, ob der Shop für Taufringe wirklich so ... » mehr

Webentwickler Konferenz in Hamburg

Hallo Zusammen, Am 20./21. Mai findet in Hamburg die erste Developer Conference 2011 statt. Wie der Name bereits verrät, handelt die Konferenz rund ... » mehr

von devcon-hamburg am Dienstag, 12. April 2011 16:50 in PHP - noch nicht beantwortet

bedingte Weiterleitung in Kontaktformularen

Hallo zusammen, ich habe ein kleines Problem: Ich brauche bei der Entwicklung eines Kontaktformulares für eine Website eine bedingte Weiterleitung ... » mehr

von scatha am Donnerstag, 10. März 2011 01:12 in PHP - noch nicht beantwortet

Gesucht: Auslesen einer externen Website

Mein vorhaben ist recht simpel aber ich bin php noob (hoffe das entschuldigt es nen bissl xD) und hab kp wie ichs anfangen soll. Und zwar möchte ich ... » mehr

von HeathenMan am Dienstag, 1. Februar 2011 22:57 in PHP - bisher 1 Antwort
Letzter Beitrag: Donnerstag, 3. Februar 2011 14:43 von alm

Hallo, am einfachsten und kompaktesten kann man das mit einem regulären Ausdruck machen. Einfach mal nach der Funktion preg_match_all suchen und den ... » mehr

Zeilenumbruch in der Bildergalerie-Beschriftung

Hallo, die Bildergalerie mit php und js ist super, jedoch möchte ich gern zu meinen Bildern verschiedene Bemerkungen machen und zwar untereinander, ... » mehr

von Sylma am Mittwoch, 26. Januar 2011 01:13 in PHP - bisher 1 Antwort
Letzter Beitrag: Freitag, 28. Januar 2011 10:16 von alm

Hallo, ich nehme an, dass \n im Beschreibungstext nicht funktioniert aber versuchen kann man es. Ansonsten: Schon mal mit einer UTF-Sequenz ... » mehr

¬ Tutorials



¬ Insolvenzrecht