====== Funktionen für die Stringverarbeitung ====== ===== Funktionen ===== ^Funktion^ Beschreibung^ |''string trim(string $zeichenkette[, string $zeichenliste])''|''trim()'' entfernt am Anfang und am Ende des Strings Whitespaces/Leerzeichen und/oder andere Zeichen. Mehr [[php:string_functions#trim|hier]].| |''int strlen(string $zeichenkette)''| Diese Funktion ermittelt die Länge der Zeichenkette ''$zeichenkette''.| |''string nl2br(string $zeichenkette[,bool $is_xhtml = true])''| Fügt vor allen Zeilenumbrüchen im übergebenden String den Wert von ''$zeichenkette'' hinzu.| |''string ucfirst(string $zeichenkette)''| Wandelt das erste Zeichen der Zeichenkette ''$zeichenkette'' in einen Großbuchstaben um.| |''string ucwords(string $zeichenkette)''| Wandelt alle ersten Buchstaben der Wörter im String ''$zeichenkette'' in einen Großbuchstaben um.| |''string addshlashes(string $zeichenkette)''| Stellt jedem zeichenkettenrelevanten Wort (wie <, >,\,' usw.) einen Backshlash (\) vor. Wird oft für Eintragungen in Datenbanken genutzt, damit ungewollte Angaben keinen Fehler generieren können.| |''string htmlentities(string $zeichenkette)''| Wandelt alle HTML Sonderzeichen in die entsprechenden HTML-Codes um. Wird heutzutage nicht mehr verwendet, da durch die Zeichensatzdefinition als UTF8((UTF8 ist ein Zeichensatz, welcher (fast) alle Zeichen auf dieser Welt definiert hat und daher auch in deutschen Texten etwa chinesische Zeichen darstellen kann.)) auch Umlaute korrekt dargestellt werden.| ==== trim($zeichenkette) ==== ''trim($zeichenkette [, $zeichenliste])'' entfernt an Anfang und Ende einer Zeichenkette Leerzeichen (dazu zählen die unten aufgeführten Zeichen) und falls gewünscht, verschiedene andere Zeichen. Der zweite Parameter bestimmt, falls er verwendet wird, welche Zeichen genau entfernt werden: * " " (Leerzeichen, ASCII 39 (0x20)) * "\t" (Zeilenvorschub(Tab), ASCII 9 (0x09) * "\n" (Zeilenumbruch("Enter"), ASCII 10(0x0A) * "\r" (Wagenrücklauf, ASCII 13 (0x0D) * "\0" (Das NULL-Byte ASCII 0(0x00) * "\x0B" (Vertikaler Tabulator ASCII 11 (0x0B) Parameter eins: Die Zeichenkette, welche verarbeitet(gekürzt) werden soll. Parameter zwei: Eine optionale Zeichenkette mit verschiedenen Zeichen, die am Anfang und Ende eines Strings entfernt werden. Getrennt werden diese nicht, also keine Leerzeichen oder Ähnliches. === Beispiele === Beispiel 1: Entfernen der Standard Zeichen. **Ausgabe:** Hallo! Beispiel 2: Entfernen der Standardzeichen UND der Buchstaben H und l. **Ausgabe:** string(5) "allo!" ==== strlen($zeichenkette) ==== ''strlen'' zählt die Anzahl der gegebenen Zeichen und gibt diese zurück. ===Beispiele=== Beispiel 1: Erst werden die Zeichen gezählt, dann wird der String vergrößert, dann werden die Zeichen nochmal gezählt und beide Zahlen werden addiert und ausgegeben. **Ausgabe:** 16 ==== nl2br($zeichenkette) ==== ''nl2br($char)'' fügt vor jedem Zeilenumbruch, welcher mittels \n oder direkt im String gewertet wird, einen HTML validen Zeilenumbruch ein. ===Beispiele=== Beispiel 1: Fügt vor jedem \n einen HTML-Zeilenumbruch ein. **Ausgabe:** Huhu
Wie geht den so?
==== ucfirst($zeichenkette)==== Wandelt das erste Zeichen von ''$zeichenkette'' in einen Großbuchstaben um, wenn es ein Zeichen des Alphabets ist und gibt den veränderten String zurück. ===Beispiele=== Beispiel 1: Umwandeln des ersten Zeichens. **Ausgabe:** Willkommen auf proggen.org! Folgendes wird **nicht** umgewandelt: **Ausgabe:** 2 Jäger trafen sich, beide Tot! ==== ucwords($zeichenkette)==== Gibt einen String zurück, in dem das erste Zeichen eines jeden Wortes innerhalb von ''$zeichenkette'' in einen Großbuchstaben umgewandelt wird, sofern es sich dabei um Buchstaben handelt. Als Wort wird hierbei eine Zeichenkette verstanden, die einem Whitespace (Leerzeichen, Seitenvorschub, Zeilenvorschub, Wagenrücklauf sowie horizontalem und vertikalem Tabulatorzeichen) folgt. ===Beispiele=== Beispiel 1: Wandelt von allen Wörtern den ersten Buchstaben um. **Ausgabe:** Ich Bin Auf Proggen.Org ==== addslashes($str)==== Gibt einen String (Zeichenkette) zurück, in dem bestimmten Zeichen ein Backslash "\" voran gestellt wurde. Diese Funktion ist z.B. für Datenbankabfragen wichtig. Die behandelten Zeichen sind das einfache und das doppelte Anführungszeichen (' und "), der Backslash selbst (\) sowie NUL (das Null-Byte). Diese Funktion ist besonders für Datenbanken interessant. Da aber viele der Datenbanksysteme eigene Escape-Funktionen bereitstellen, ist diese Funktion nur **ersatzweise** gedacht. Dies bedeutet, dass man die Funktion bei modernen Datenbanksystemen nicht verwenden muss. ===Beispiele=== Beispiel 1: Gibt den Satz korrekt, d.h maskiert, aus. **Ausgabe:** Ist dein Name wirklich O\'reilly? ==== htmlentities($str[,$flags=EN_COMPACT | ENT_HTML401) ==== Die Funktion ist komplett identisch zu htmlspecialchars(), allerdings wandelt htmlentities() wirklich alle Zeichen, die eine HTML-Code-Entsprechung haben, in diese Entsprechung um. \\ Der erste Parameter beschreibt die Zeichenkette, welche gewandelt werden soll. Interessanter jedoch ist der zweite Parameter, welcher es Dir erlaubt, die Umwandlung zu "personalisieren". \\ ^Konstante^Beschreibung^ |ENT_COMPAT|Konvertiert doppelte Anführungszeichen, läßt einfache aber unbehandelt.| |ENT_QUOTES|Konvertiert doppelte und einfache Anführungszeichen.| |ENT_NOQUOTES| Lässt doppelte sowie einfache Anführungszeichen unberührt.| |ENT_SUBSTITUTE|Ersetzt ungültige Code Unit Sequenzen mit einem Unicode Ersatz Zeichen U+FFFD (UTF-8) oder &#FFFD; (andernfalls) anstatt eine leere Zeichenkette zurückzugeben.| |ENT_DISALLOWED|Ersetzt Code Unit Sequenzen, welche in dem angegebenen Dokumenttyp ungültig sind, mit einem Unicode Ersatz Zeichen U+FFFD (UTF-8) oder &#FFFD; (andernfalls).| |ENT_HTML401| Behandle Code als HTML 4.1| |ENT_XML1| Behandle Code als XML 1.0.| |ENT_XHTML| Behandle Code als XHTML.| |ENT_HTML5| Behandle Code als HTML 5| Wie in der Fußnote erwähnt, sollte man als Zeichensatz UTF8 wählen, denn damit ist der Einsatz dieser Funktion überflüssig. ---- Auf der nächsten Seite werden Funktionen im [[php:array_functions|Umgang mit Arrays]] behandelt.