Immer wieder verirren sich Besucher auf meinen Blog, die nach “php string länge”, “string länge berechnen” oder ähnlichen Begriffen bei Google gesucht haben. Die Länge eines Strings kann man ganz einfach mit der Funktion strlen berechnen.
Nicht wenige Webentwickler benötigen für bestimmte Funktionen ihrer Website die Länge eines Strings. Insbesonders natürlich bei Benutzereingaben, da man hier nie weiss wie lang diese sein werden. Praktisch vorstellbar is beispielsweise ein Berechnen der Länge eines eingegebenen Passworts bei der Registrierung. (z.B. das Passwort muss mindestens 6 Zeichen lang sein)
Hier nun das Beispiel für die Funktionsweise der PHP String Funktion strlen
Die Funktion ist wirklich einfach. Sie kennt nur einen Parameter, hierbei wird der String übergeben dessen Länge bestimmt werden soll. Es wird jedes Zeichen gezählt, also wie hier im Beispiel zählt auch der Bindestrich und der Punkt zur Länge hinzu. web-manual.de sind also 13 Zeichen insgesamt.
In diesem Beispiel zeigt sich, das auch ein Leerzeichen oder Tabulator als genau ein Zeichen gilt. Das Vergessen oftmals viele und wundern sich dann warum die Länge nicht stimmt.
Nach dem Teilen von Strings in Teil 3.1 kommen wir nun zu Funktionen, mit denen man Strings verändern kann.
strtolower und strtoupper
strtolower setzt den kompletten String - sprich alle Buchstaben - in Kleinbuchstaben um. Oft verwendet wird diese Funktion, um beispielsweise aus einem Titel eine suchmaschinenfreundliche URL zu generieren. Natürlich muss noch mehr verändert werden wie z.B. Leerzeichen in Bindestriche verwandeln oder ähnliches. strtoupper ist das genaue Gegenteil und setzt folglich alle Buchstaben in Großbuchstaben um.
ucfirst und ucwords
Mit ucfirst wird das erste Zeichen eines Strings in einen Großbuchstaben verwandelt. Das erste Zeichen muss aber ein gültiger Buchstabe sein, andere Zeichen oder Zahlen werden nicht umgewandelt. Bei ucwords hingegen werden die Anfangsbuchstaben aller Wörter in einen Großbuchstaben verwandelt. Ein neues Wort ist immer nach einem Whitespace wie z.B. Leerzeichen oder Tabulator.
substr_replace
Die Funktion ist ähnlich zu substr, nur wird hier kein bestimmter Teil zurückgegeben sondern durch einen anderen Teil ersetzt. Dazu wird im ersten Parameter der Funktion erstmal der String übergeben und im zweiten der Text der danach eingesetzt wird. Mit den anderen zwei Parametern wird der genaue Teil des Strings bestimmt, der ersetzt werden soll. Dazu wird im dritter Parameter die Startposition angegeben; dabei ist zu beachten das die 0 das erste Zeichen repräsentiert, 1 das zweite usw. Im vierten Parameter wird dann die Länge übergeben wieviel Zeichen ausgehend vom Startwert angezeigt werden sollen.
Achtung: Wenn für den Startparameter negative Werte eingesetzt werden, wird vom Ende des Strings aus nach links gezählt. Wenn die Länge negativ ist, wird auch vom Ende des Strings nach links gezählt und bis zu der Position der String ersetzt.
str_replace
Auch str_replace ersetzt einen Teil des Strings durch einen anderen Text. Im Gegensatz zu substr_replace wird allerdings nicht die genaue Zeichenposition angegeben, bei der der String ersetzt werden soll. Stattdessen wird nach einen bestimmten Wort gesucht und genau dieses durch ein anderes ersetzt.
Im ersten Parameter wird daher der String übergeben, nachdem gesucht werden soll, im zweiten der String durch den das Suchwort ersetzt wird und im dritten Parameter dann der komplette String, auf dem das Ersetzen angewendet werden soll. siehe Beispiel
Es ist möglich, für die Parameter auch ein Array zu setzten. Folglich wird je ein Wert der Arrays zum Suchen und Ersetzen verwendet. Man kann sich so vorstellen; für jeden Wert im Array wird die Funktion einmal aufgerufen oder man schaut sich einfach das Beispiel an ![]()
Ich hoffe die Beispiele sprechen für sich, es ist wirklich nicht so einfach die volle Funktionsweise jeder Funktion vollkommen verständlich zu erklären. Am besten kopiert man den Quelltext, spielt ein wenig mit den Parametern herum falls einem eine Funktion nocht nicht völlig klar ist.
Viele Strings müssen - insbesondere nach Eingabe vom Benutzer - im PHP Script weiter verarbeitet werden. So werden zum Beispiele Teile eines Strings ersetzt, mehrere Strings zusammengesetzt oder aufgeteilt, Leerzeichen entfernt oder auf einen bestimmten Wert überprüft. Und noch vieles vieles mehr… Auch hier liefert PHP von Haus aus eine Menge Funktionen mit.
Mh habe nach ein wenig Schreiben festgestellt dass das Ganze schon wieder viel zu viel wird für einen Beitrag
Darum teile ich den Punkt 3: Verarbeiten von Strings noch einmal in ein paar Einzelpunkte. Der erste ist Teil 3.1 Teilen von Strings. » Read more after the jump →

