Falconbyte unterstüzen
Betrieb und Pflege von Falconbyte brauchen viel Zeit und Geld. Um dir auch weiterhin hochwertigen Content anbieten zu können, kannst du uns sehr gerne mit einem kleinen "Trinkgeld" unterstützen.
Schnellüberblick der String-Funktionen
Name | Erklärung und Beispiel |
---|---|
strlen() | echo strlen("Solar System); // 12
Gibt die Länge eines Strings zurück |
str_word_count() | echo str_word_count("Hallo PHP"); // 2 Gibt die Anzahl der Wörter in einem String zurück |
trim() | echo trim(" Marius "); // "Marius" Entfernt Leerzeichen am Anfang und Ende des Strings |
strpos() | echo strpos("Finsternis", "stern"); // 3 Sucht ein bestimmtes Zeichen/ Zeichenkette in einem String und liefert die Position zurück. Wenn nicht gefunden: false. |
strrev() | echo strrev("Hallo"); // ollaH Kehrt einen String um |
substr() | echo substr("abcdef", 3); // def Liefert einen Teilstring zurück. |
str_replace() | echo str_replace("ß", "ss", "Straße"); // Strasse Ersetzt in einem String eine bestimmte Zeichenfolge durch eine andere und liefert das Ergebnis zurück. |
explode() | $teile = explode(" ", "Orange Zitrone Erdbeere Apfel"); echo $teile[0]; // Orange Zerlegt einen String und liefert Einzelteile in einem Array zurück |
strtolower() | echo strtolower("Athen"); // athen Liefert einen String in Kleinbuchstaben zurück |
- Die wichtigsten String-Funktionen
- Übungen
Inhaltsverzeichnis
Die wichtigsten Funktionen für Strings
Das PHP-Handbuch stellt eine ganze Menge vordefinierter Funktionen zur String-Behandlung für uns bereit. Sehen wir einige davon nun genauer an.
strlen()
strlen (string $string) : int
Die Funktion strlen() ermittelt die Länge eines Strings. Die Funktion erwartet als Argument eine Zeichenkette und gibt deren Länge als int-Wert zurück.
$name = "Solar System";
$laenge = strlen($name);
echo $laenge; // 12
Leerzeichen sind auch Zeichen und werden mitgezählt.
str_word_count()
str_word_count (string $string) : int
Eine einfache und praktische Funktion, die die Wörter in einem String zählt.
$str = "Hallo PHP";
echo str_word_count($str); // 2
trim()
trim (string $str [, string $characters]) : string
Mit trim() können wir Leerzeichen am Anfang und am Ende eines Strings entfernen. Die Funktion liefert das Ergebnis als neuen String zurück.
$name = " Marius ";
$name2 = trim($name);
echo $name; // "Marius"
trim() wird sehr häufig eingesetzt, um mögliche Leerzeichen in Benutzereingaben zu entfernen.
Wie wir sehen, hat die Funktion noch einen zweiten fakultativen Parameter. Mit trim() können wir nämlich auch andere Zeichen als das Leerzeichen entfernen. Wir müssen der Funktion dann einfach als zweites Argument eine Liste von Zeichen übergeben, die gelöscht werden sollen:
$name = "-MariusXY";
$name2 = trim($name, "-XY");
echo $name2; // "Marius
In diesem Beispiel sollen die Zeichen - , X und Y am Anfang und Ende gelöscht werden. So wird durch den Funktionsaufruf trim($name, "-XY") der String "Marius" zurückgeliefert.
strpos()
strpos (string $haystack , mixed $needle) : int
Diese Funktion ermittelt das erste Vorkommen eines gesuchten Zeiches oder einer Zeichenkette. Der Parameter $haystack ist der String, der durchsucht werden soll und $needle ist das, was darin gesucht wird.
haystack heißt übersetzt übrigens "Heuhaufen" und needle ist die "Nadel" - genau darum geht es hier: "Die Nadel im Heuhaufen suchen".
Die Funktion gibt einen int-Wert zurück, der die Position des gesuchten Zeichens/ Zeichenkette markiert. Wenn nichts gefunden wird, wird false zurückgeliefert.
$satz = "Der Mond und die Finsternis";
$suche = "stern";
$pos = strpos($satz, $suche);
echo "'$suche' ist an Position $pos";
// 'stern' ist an Position 20
Die Zählung beginnt bei 0. Deshalb müssen wir bei einer Prüfung, ob das gesuchte Zeichen/ Zeichenkette enthalten ist, das dreifache === verwenden:
$satz = "Der Mond und die Finsternis.";
$suche = "D";
$pos = strpos($satz, $suche); // 0
if($pos === false){
echo "'$suche' ist nicht enthalten.";
}
else{
echo "'$suche' ist an Position $pos";
}
// 'D' ist an Position 0
D ist auf Position 0 enthalten. Aber: Bei einem doppelten == würde fälschlicherweise 'D' ist nicht enthalten ausgegeben. Denn bei einer Prüfung 0 == false wird 0 zu false konvertiert, weshalb der Ausdruck true ergibt. Um das zu verhindern, verwenden wir den dreifachen Vergleichsoperator ===.
strrev()
strrev (string $string) : string
Diese Funktion kehrt einen String einfach um:
$str = "Hallo Welt!";
echo strrev($str); // !tleW ollaH
substr()
substr (string $string , int $start [, int $length ]) : string
substr() gibt einen Substring (=Teilstring) zurück. Der erste Parameter ist der String, der zerlegt werden soll.
Der Parameter $start gibt die Position an, von der aus der Substring gebildelt werden soll.
Der fakultative Parameter $length legt die Länge des Substring fest. Wird der Parameter nicht verwendet, wird der String bis zum Ende zurückgeliefert.
$str = "abcdef";
$substr = substr($str, 3);
echo $substr; // def
str_replace()
str_replace (mixed $search , mixed $replace, mixed $subject) : mixed
str_replace() ersetzt in einem String eine bestimmte Zeichenfolge durch eine andere und liefert das Ergebnis zurück.
Hier ein Beispiel, um einzelne Zeichen zu ersetzen:
$str = "Außerhalb der Straße.";
$strNeu = str_replace("ß", "ss", $str);
echo $strNeu; // Ausserhalb der Strasse
In diesem Beispiel ersetzen wir ß mit ss.
Wir können auch mehrere zusammenhängende Zeichenketten (Wörter) ersetzen:
$str = "Hallo Michael, du bist nun eingeloggt.";
$strNeu = str_replace("Michael", "Sabrina", $str);
echo $strNeu; // Hallo Sabrina, du bist nun eingeloggt.
Ganz praktisch ist die Funktion auch, wenn wir wir mehrere Zeichen oder Zeichenketten gleichzeitig ersetzen wollen. In solchen Fällen arbeiten wir einfach mit Arrays und setzen sie als Argumente ein:
$str = "Frühling in Österreich";
$sonderzeichen = array("ä", "ö", "ü", "Ä", "Ö", "Ü");
$ohne = array("ae", "oe", "ue", "Ae", "Oe", "Ue");
echo str_replace($sonderzeichen, $ohne, $str);
// Frueling in Oesterreich
explode()
explode (string $delimiter , string $string) : array
Eine sehr praktische Funktion, die einen String zerlegt und die Einzelteile als String-Array zurückliefert.
Der erste Parameter ist der Trenner, an dem die Zerteilung stattfinden soll. Der zweite Parameter ist der String, der zerlegt werden soll.
$str = "Orange Zitrone Erdbeere Apfel";
$teile = explode(" ", $str);
echo $teile[0]; // Orange
echo $teile[1]; // Zitrone
strtolower()
strtolower (string $string) : string
strtolower setzt einen String in Kleinbuchstaben um.
$str = "This Is Sparta!";
$strNeu = strtolower($str); // this is sparta
Übungen
einfach
Ersetze im String "Göthe" das Zeichen ö mit oe und gib das Ergebnis am Bildschirm aus.
mittel
Speichere folgenden String in einer Variablen (copy/paste):
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
Prüfe nun mit einer geeigneten Funktion, ob die Zeichenkette magna in diesem String enthalten ist. Es sollen bei ja oder nein entsprechende echo-Meldungen angezeigt werden.
schwer
Achtung, sackschwere Aufgabe aus der Praxis:
Gegeben ist ein Array von Strings mit Kundendaten:
$kunden = array(
"Name: Keller, Vorname: Thomas, Wohnort: Stuttgart",
"Name: Florentine, Vorname: Sabrina, Wohnort: München",
"Name: Jones, Vorname: Pepe, Wohnort: Bern");
Gib nun die Daten am Bildschirm wie in folgender Tabelle aus:
Wer diese Aufgabe löst, hat den Diamond wirklich verdient. Viel Erfolg!