Archiv für Mai, 2008

PHP String Funktionen Teil 3.2: Verändern von Strings

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.

  1. echo strtolower("Strings ändern");
  2. // gibt "strings ändern" zurück
  3. echo strtoupper("Strings ändern");
  4. // gibt "STRINGS ÄNDERN" zurück

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.

  1. echo ucfirst("php strings ändern");
  2. // gibt "Php strings ändern" zurück
  3. echo ucwords("php strings ändern");
  4. // gibt "Php Strings Ändern" zurück

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.

  1. $var = "!§$%!§$&!::;IO";
  2. echo substr_replace($var, 'web-manual', 2, 5);
  3. // gibt "!§web-manual&!::;IO" zurück

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.

  1. $var = "!§$%!§$&!::;IO";
  2. echo substr_replace($var, 'web-manual', -5, -1);
  3. // gibt "!§$%!§$&!web-manualO" zurück

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

  1. echo str_replace("%farbe%", "blau", "Die Farbe ist %farbe%.");
  2. // ausgabe: Die Farbe ist blau.

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 ;)

  1. $vokale = array("a", "e", "i", "o", "u", "A", "E", "I");
  2. echo str_replace($vokale, "", "Hallo Web:Manual Besucher");
  3. // ausgabe: Hll Wb:Mnl Bschr

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.

Die wichtigsten PHP String-Funktionen (Teil 3.1: Teilen von Strings)

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. » Weiterlesen..

Die wichtigsten PHP String-Funktionen (Teil 2: Ausgabe von Strings)

Mit PHP Variablen oder Strings auszugeben ist eine der wesentlichen Aufgabe einer PHP-Anwendung. Dementsprechend oft werden die String-Funktionen hierfür gebraucht. Die bekanntesten sind echo, print und printf.

Ausgabe mit Echo
Der Befehl Echo jedoch ist nicht wirklich eine Funktion, sondern lediglich ein Sprachkonstrukt. Deshalb müssen bei der Verwendung auch keine Klammern gesetzt werden. Eine einfache Ausgabe erfolgt bekanntlich mit

  1. echo "Hallo Welt";
  2. echo $variable;
  3. echo ($variable);

Mehrere Argumente können entweder durch Kommas aufgelistet werden oder mit dem Punkt-Operator zu einem String verknüpft werden.

  1. echo "Hallo Welt" , $variable, $variable2, "!!";
  2. echo "Hallo" . "Welt" . "!!";

Zusätzlich besitzt Echo eine Syntax Kurzform, um so schnelle Ausgaben in einem HTML Dokument durchzuführen. Statt

  1. < ?php echo $var; ?>

können sie mit der Kurzform einfach

  1. < ?=$var?>

schreiben.

Ich möchte jedoch von dieser Methode abraten. Diese Kurzform funktioniert nur, wenn short_open_tag in der php.ini eingeschaltet ist. Somit funktioniert das Script auf anderen Servern eventuell nicht. » Weiterlesen..