Wenn man eine Zeichenkette in abrufbaren Einzelteile zerlegen möchte, muss man den nachfolgenden Befehl verwenden:
strtok("Zeichenkette","Trennzeichen")
Mit Hilfe der Funktion strtok() lassen sich durch selbst definierte Trennzeichen Zeichenketten in viele Teile (Token) teilen. Im Gegensatz zu der Funktion explode() werden hier alle Teile der Zeichenkette zurückgegeben. Wenn man eine Zeichenkette aufspalten will, so muss man dies nur beim ersten Aufruf angeben. In nachfolgenden Aufrufe, muss man lediglich das Trennzeichen angeben. Dabei muss ein Trennzeichen nicht nur aus einem Zeichen bestehen, sondern kann auch aus mehrere Trennzeichen bestehen. Das heißt, dass genau nach der Reihenfolge in der Zeichenkette gegangen wird.
Beispiel 1:
In diesem Beispiel habe ich mir den Satz "Hier steht ein Satz. Und hier noch einer." ausgesucht. Wir versuchen also, dass diese zwei Sätze zu einem gemacht werden, indem wir ganz einfach die Punkte entfernen. Außerdem versuchen wir noch, dass jeder der beiden Sätze in einer eigenen Zeile steht.
Php Code für Beispiel 1:
<?php
$zeichenkette = "Hier steht ein Satz. Und hier noch einer.";
echo strtok($zeichenkette, ".")."<br>";
echo strtok(".");
?>
Ergebnis
Hier steht ein Satz
Und hier noch einer
Erklärung
Zuerst haben wir unsere Zeichenkette definiert durch $zeichenkette. Dannach haben wir mit Hilfe der strtok() Funktion alle Punkte in der Zeichenkette entfernt.
Der Befehl <br> kommt aus der Programmiersprache HTML und erzeugt unseren Zeilenumbruch nach jedem Punkt.
Beispiel 2:
Für dieses Beispiel nehmen wir den Satz „Hallo ich bin hier“. Wir wollen versuchen, dass vor jedem Wort in unserer Zeichenkette „DU:“ steht.
Php Code für Beispiel 2:
<?php
$zeichenkette = " Hallo ich bin hier ";
$token = strtok($zeichenkette, " ");
while ($token) {
echo "DU:$token ";
$token = strtok(" ");
}
?>
Ergebnis
DU: Hallo DU: ich DU: bin DU: hier
Erklärung
Zuerst müssen wir wieder unsere Zeichenkette mit $zeichenkette definieren. Danach definieren wir noch unser Token, daher lassen wir diesmal einfach ein Leerzeichen statt, wie oben eine <br>. Das heißt, dass unser Trennzeichen ein Leerzeichen ist. Jetzt müssen wir noch eine While-Schleife machen, damit vor jedem Token, das wir erhalten ein DU: gesetzt wird.