| |
| * Link führt ins Internet |
|
| |
Umwandeln, Teilen und Verbinden von Zeichenketten
|
|
Häufig erforderliche Operationen sind das Umwandeln von Gross- und Kleinbuchstaben und umgekehrt, sowie das Zerlegen von Zeichenketten anhand von vorgegebenen Trennzeichen.
| Funktion | Beispiel | Beschreibung |
| chunk_split($str[, length, end]]) | $str1 = chunk_split($spruch,1, " ") | Zerlegt einen String in Teile gleicher Länge. Gibt man keine length an wird die Zeichenkette automatisch nach 76 Zeichen geteilt. |
| strrev($str) | $str1 = strrev($spruch) | Invertiert Zeichenketten. |
| strtolower($str) | $str1 = strtolower($spruch); | Wandelt die Zeichenkette in Kleinbuchstaben um. |
| strtoupper($str) | $str1 = strtoupper($spruch); | Wandelt die Zeichenkette in Grossbuchstaben um. |
| ucfirst($str) | $str1 = ucfirst($spruch); | Wandelt das erste Zeichen in Grossbuchstaben um. |
| ucwords($str) | $str1 = ucwords ($spruch); | Wandelt das erste Zeichen jedes Worts in Grossbuchstaben um. |
| ord($str) | $wert = ord("Z") | Gibt den ASCII-Wert zurück. |
| quoted_printable_decode($str) | $str1 = quoted_printable_decode($spruch) | Dekodiert Quoted Printable-Zeichenfolgen in 8-Bit-Werte. |
| bin2hex($str) | $str1 = bin2hex($spruch) | Binär -> Hexadezimal. Umwandlung von Binär nach Hexadezimal |
| convert_cyr_string($str,$from,$to) | $str1 = convert_cyr_string($spruch,$from,$to) | Konvertiert Zeichen zwischen kyrillischen Zeichensätzen. |
| explode($sep,$str[, limit]) | $array = explode($sep,$str1) | Teilt Zeichenkette anhand des Trennzeichen $sep und gibt ein Array zurück. Der Parameter limit ist optional und legt fest, das nur maximal limit Elemente im Array zurückgegeben werden. Das letzte Element des Arrays enthält dann den restlichen String. |
| strtok($str,$sep) | $str1 = strtok($spruch,$sep) | Trennt Zeichenkette mit Hilfe des angegebenen Trennzeichen $sep. |
| implode($sep,$array) | $str = implode($sep,$array) | Gibt Array-Elemente unter Verwendung von Trennzeichen an den $str zurück. |
| join($sep,$array) | $str = join($sep,$array) | Identisch mit implode() |
Einsatz von chunk_split()
Mit Hilfe der Funktion chunk_split() lässt sich ein String in Teile gleicher Länge zerlegen. Gibt man keine length an wird die Zeichenkette automatisch nach 76 Zeichen geteilt.
Beispiel
<?php
$spruch = "Wir zerlegen die Zeichenkette";
echo chunk_split($spruch,10,"<br>");
?>
|
Ausgabe
Wir zerleg
en die Zei
chenkette
|
Als Quelltext
Wir zerleg<br>en die Zei<br>chenkette<br>
|
Einsatz von explode()
Mit Hilfe der Funktion explode() lassen sich durch Einsatz eines Trennezeichens Zeichenketten zerlegen. Als Ergebnis erhält man ein Array zurück, welches die Teile der zerlegten Zeichenkette enthält.
Beispiel
<?php
$spruch = "Wir zerlegen die Zeichenkette";
$array = explode(" ",$spruch);
foreach ($array as $element) {
echo "$element<br>";
}
?>
|
Ausgabe
Wir
zerlegen
die
Zeichenkette
|
Einsatz von strtok()
Die Funktion leistet im Prinzip genau dasselbe wie explode(). Jedoch liefert die Funktion nur den jeweils nächsten Teil (Token) zurück und muss, um die Zeichenkette vollständig zu verarbeiten, mehrmals aufgerufen werden.
Beispiel
<?php
$spruch = "Wir zerlegen die Zeichenkette";
$teil1 = strtok($spruch, " ");
$teil2 = strtok(" ");
// Ausgabe - Wir
echo $teil1;
// Ausgabe - zerlegen
echo $teil2;
?>
|
Natürlich lässt sich dieser Vorgang mit Hilfe einer while-Schleife wesentlich vereinfachen.
Beispiel - mit Schleife
<?php
$spruch = "Wir zerlegen die Zeichenkette";
$teil1 = strtok($spruch, " ");
echo "$teil1<br>";
while ($teil1) {
$teil1 = strtok(" ");
echo "$teil1<br>";
}
?>
|
Ausgabe
Wir
zerlegen
die
Zeichenkette
|
Einsatz von implode()
Die Funktion implode() stellt die zu explode() umgekehrte Funktionalität zur Verfügung. Sie können die Elemente eines Arrays zu einer Zeichenkette zusammenfassen und an eine Stringvariable übergeben.
Beispiel
<?php
$spruch = "Wir zerlegen die Zeichenkette";
// Array erzeugen
$array = explode(" ", $spruch);
// Array Einträge in Zeichenkette überführen
// (Trennzeichen *)
$zeichen = implode("*", $array);
// Ausgabe - Wir*zerlegen*die*Zeichenkette
echo $zeichen;
?>
|
|
|
|
|
|
|
|