Homepage-Webhilfe Event-Banner

Zeichenketten

Zeichenketten sind eine Aneinanderreihung von Zeichen. Bei einem Zeichen kann es sich um einen Buchstaben, eine Zahl oder ein anderes Zeichen handeln. Eine Zeichenkette (engl. string) ist vom Datentyp String und kann kein, ein oder mehrere Zeichen enthalten. Notiert werden Zeichenketten innerhalb von einfachen '' oder doppelten "" Anführungszeichen. Für gewöhnlich sollten Sie Zeichenketten in einfachen Anführungszeichen notieren. In doppelten Anführungszeichen ist die Angabe von Escape-Sequenzen (wie z. B. \r, \n oder \t) und Variablen möglich. Vereinfacht kann man sagen, dass Werte in doppelten Anführungszeichen geparst werden, d. h. diese werden interpretiert und verarbeitet. Anders ist dies bei einfachen Anführungszeichen. Zeichenketten in diesen stellen lediglich eine einfache Kette von Zeichen dar. Zur Verkettung oder einfacher gesagt zur Verbindung von zwei oder mehreren Zeichenketten wird der Punkt-Operator . verwendet. Dies ist sowohl mit Zeichenketten in einfachen als auch mit Zeichenketten in doppelten Anführungszeichen möglich. Des Weiteren ist auch die Verbindung einer Zeichenkette, welche in einfachen Anführungszeichen notiert wurde, mit einer Zeichenkette, welche in doppelten Anführungszeichen notiert wurde, möglich. Einige Zeichen müssen in PHP-Strings maskiert (engl. escape) werden. Dies gilt für das Zeichen ', welches zu \' wird, und für ", welches zu \" wird. Natürlich ist \' nur bei Zeichenketten, welche in einfachen Anführungszeichen notiert wurden, notwendig und das Gleiche für \" bei Zeichenketten in doppelten Anführungszeichen. Zudem muss der Backslash \ mit \\ maskiert werden.

<?php
$name = 'Peter';

echo 'Hallo '.$name.', wie geht es dir?';
?>
Vorschau

Übrigens: Festwerte, dabei kann es sich um eine Zeichenkette oder auch um eine Zahl handeln, welche „direkt“ angegeben wurden, werden auch als Literale bezeichnet.

Übrigens: Möchten Sie an eine Variable einen Wert anhängen, so können Sie den Operator .= verwenden (z. B. $meinName = 'Max'; und anschließend $meinName .= ' Meyer';).


Um die Länge einer Zeichenkette zu ermitteln, benötigen wir die Funktion strlen(). Dieser wird als Parameter die Zeichenkette übergeben. Als Rückgabe erhalten wir einen Zahlenwert, welcher die Länge der Zeichenkette repräsentiert.

<?php
echo strlen('Hallo Welt!');
?>
Vorschau

Um eine Zeichenkette innerhalb einer Zeichenkette zu suchen, gibt es die Funktionen strpos(), stripos(), strrpos() und strripos(). Alle Funktionen haben das gleiche Schema: Der erste Parameter gibt den sogenannten haystack an, bei welchem es sich um die Zeichenkette handelt, in welcher gesucht werden soll. Der zweite Parameter stellt das sogenannte needle dar, wobei es um die Zeichenkette handelt, welche innerhalb des haystacks gesucht werden soll. Als dritter und optionaler Parameter kann ein nullbasierter Offset für die Suche angegeben werden. Im Gegensatz zu strpos() führt stripos() die Suche ohne Beachtung der Groß- und Kleinschreibung durch. Der Unterschied zwischen strpos() und strrpos() und stripos() und strripos() ist, dass bei strrpos() und strripos() die Suche vom Ende bis zum Anfang durchgeführt wurde. Vereinfacht gesagt ist es mit diesen zwei Funktionen möglich, das letzte Vorkommen in einer Zeichenkette zu finden. Alle vier Funktionen geben als Rückgabe die Zeichenposition zurück. Dabei entspricht das erste Zeichen der Position 0, das zweite Zeichen der Position 1 usw.. Wird die Zeichenkette nicht gefunden, so gibt die Funktion false zurück.

<?php
echo strpos('Diese Zeichenkette enthält ZEICHEN und dient zur Suche.', 'ZEICHEN');
echo '<br />';
echo stripos('Diese Zeichenkette enthält ZEICHEN und dient zur Suche.', 'ZEICHEN');
?>
Vorschau

Wichtig: Wird der Wert false mit echo ausgegeben (z. B. über eine der Suchfunktionen), so werden Sie bei der Ausgabe nichts sehen. Dies kommt daher, dass Werte vom Typ boolean nicht zur Ausgabe gedacht sind. Solche Werte werden wir später bei Bedingungen und Schleifen benutzen.


Um aus einer Zeichenkette einen Teil (eine sogenannte Teilzeichenkette) zu extrahieren, gibt es die Funktion substr(). Als Parameter wird der Funktion die Zeichenkette, die Startposition (ebenfalls nullbasierend) und optional die Länge der Teilzeichenkette übergeben.

<?php
echo substr('Diese Zeichenkette enthält ZEICHEN und dient zur Suche.', 6, 29);
?>
Vorschau

Die Funktion strtolower() wandelt alle in der Zeichenkette enthaltene Buchstaben in Kleinbuchstaben um. Mit Hilfe der Funktion strtoupper() ist es hingegen möglich, alle Buchstaben in Großbuchstaben umzuwandeln. Die Funktion trim() entfernt sogenannte white spaces am Anfang und am Ende der Zeichenkette. Standardmäßig werden folgende Zeichen entfernt: (Leer) (Leerzeichen, ASCII 0x20), \t (Tabulator, ASCII 0x09), \x0B (vertikaler Tabulator, 0x0B), \r (Wagenrücklauf, ASCII 0x0D), \n (Zeilenvorschub, ASCII 0x0A) und \0 (NULL-Byte, 0x00). Als zweiter Parameter kann eine Zeichenkette übergeben werden, welche die Maske der zu entfernenden Zeichen enthält. Dadurch ist es auch möglich, mit Hilfe dieser Funktion andere Zeichen am Anfang und Ende zu entfernen.

<?php
echo strtolower('Diese Zeichenkette enthält ZEICHEN und dient zur Suche.');
echo '<br />';
echo strtoupper('Diese Zeichenkette enthält ZEICHEN und dient zur Suche.');

echo '<br /><br />';

echo '<pre>';
echo '  Dies ist eine Zeichenkette zum Test, welche einige Leerzeichen enthält.    ';
echo "\r\n";
echo trim('  Dies ist eine Zeichenkette zum Test, welche einige Leerzeichen enthält.    ');
echo '</pre>';
?>
Vorschau

Die Funktion str_replace() ersetzt alle Vorkommen einer Zeichenkette in einer Zeichenkette. Vereinfacht gesagt, handelt es sich um eine Suchen- und Ersetzen-Funktion, die Sie vielleicht von Textverarbeitungsprogrammen und Editoren kennen. Der Funktion werden drei Parameter übergeben: search (Zeichenkette, welche gesucht werden soll), replace (Zeichenkette, welche ersetzt werden soll) und subject (Zeichenkette, in welcher search durch replace entfernt werden soll). str_replace() ändert nicht den String, welcher im Parameter subject übergeben wurde, sondern gibt eine neue Zeichenkette zurück. Um das Suchen unabhängig von der Groß- und Kleinschreibung durchzuführen, können wir an Stelle der Funktion str_replace() die Funktion str_ireplace() verwenden. Für das Suchen und Ersetzen mit Hilfe von regulären Ausdrücken können wir die Funktion preg_replace() verwenden. Auf die Verwendung von regulären Ausdrücken gehen wir aber an diesem Punkt nicht weiter ein.

<?php
echo str_replace('ZEICHEN', 'Buchstaben', 'Diese Zeichenkette enthält ZEICHEN und dient zur Suche.');
echo '<br />';
echo str_ireplace('ZEICHEN', 'Buchstaben', 'Diese Zeichenkette enthält ZEICHEN und dient zur Suche.');
?>
Vorschau
Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen OK