Mit der Programmiersprache PHP lassen sich viele Dinge mit Strings veranstalten. Eine Variante davon deckt der PHP-Befehl “explode” ab. Wie der Name schon sagt, “explodiert” man damit eine Zeichenkette in mehrere Stücke, die dann von dem Befehl in einem Array abgelegt werden.
array explode ( string $delimiter, string $string [, int $limit] )
Dabei ist der $delimiter das Zeichen, anhand dessen der String geteilt wird. Die Variable $limit kann man einfügen oder weglassen. Trägt man dort einen Wert (Integer) ein, erhält man nur eine begrenzte Anzahl von Elementen im Array zurück.
Kapitel in diesem Beitrag:
Code-Beispiel mit explode()
Am anschaulichsten sind die PHP-Befehle immer zu erklären, wenn man ein paar Beispiele programmiert, an denen man erkennt, was bei “raus” kommt.
Trennen bei Leerzeichen
Hier ein Beispiel, bei dem ein Satz bei den Leerzeichen geteilt wird. Natürlich müssen alle Beispiele in den PHP-Markern <?php und ?> eingefasst sein.
$string = "Das ist ein Beispiel mit dem wir einen Satz teilen."; $array = explode (" ",$string); echo $array[3];
Als Ausgabe wird hier das Wort “Beispiel” erscheinen, da der explode-Befehl den Satz anhand der Leerzeichen trennt. Da ein Array immer mit 0 startet, wenn man nichts anderes vorgibt, ist $array[0] das Wort “Das” und $array[1] ist “ist” und $array[3] das Wort “Beispiel”.
Trennen einer URL in einzelne Bestandteile
Etwas mehr praxisbezogen ist das Aufspalten einer URL-Adresse in ihre verschiedenen Ordner. Im Beispiel wird eine URL geteilt und dann als Array Zeile für Zeile ausgegeben.
$url = "https://www.php.net/manual/de/function.explode.php"; $trennzeichen = "/"; $array = explode($trennzeichen,$url); for ( $x = 0; $x < count ( $array ); $x++ ) { echo $array[$x]."<br>"; }
Die Ausgabe in diesem Beispiel lautet
https: www.php.net manual de function.explode.php
Trennung einer Aufzählung
Damit man sieht, dass die explode-Funktion in PHP auch mit zwei oder mehr Zeichen als “Delimiter” bzw. Trenner umgehen kann, habe ich hier ein Beispiel, bei der eine Liste aus Früchten in ein Array explodiert wird, die jedoch mit Leerzeichen und Komma getrennt sind.
Würde man den Trenner nur aus Komma ohne Leerzeichen wählen, müsste man noch ein trim() auf die einzelnen Arrayelemente ausführen, damit sie kein angehängtes Leerzeichen haben.
$url = "Apfel, Birne, Orange, Pampelmuse, Zitrone, Weintraube"; $trennzeichen = ", "; $array = explode($trennzeichen,$url); for ( $x = 0; $x < count ( $array ); $x++ ) { echo $array[$x]."<br>"; }
Ausgabe:
Apfel Birne Orange Tomate Zitrone Weintraube
Meine Tipps & Tricks rund um Technik & Apple
Ähnliche Beiträge
Seit 2012 betreibe ich meinen Blog als Sir Apfelot und helfe meinen Lesern bei technischen Problemen. In meiner Freizeit flitze ich auf elektrischen Einrädern, fotografiere mit meinem iPhone, klettere in den hessischen Bergen oder wandere mit meiner Familie. Meine Artikel behandeln Apple-Produkte, Drohnen-News und Lösungen für aktuelle Bugs.