PHP - Befehle - Stringfunktionen
1. addslashes / stripslashes
addslashes
"Maskiert" einfache Anführungszeichen und Gänsefüßchen mit einem Backslash (\). Dies ist besonders wichtig bei Formulareingaben wo
ein ' oder " mitten in einem eingegeben Text unwiderruflich die Zeichenkette beendet und auch zu einem Fehler führen kann. So wird
folgender Text umgewandelt
"Wir alle kennen die berühmten Deppen-Aposthroph's und hassen sie."
Ohne addslashes würde bei der nächsten Weiterverarbeitung von $_POST['text'] nur noch "Wir alle kennen die berühmten
Deppen-Aposthrop" übrig bleiben.
stripslashes
Entfernt wieder das maskierende "\".
<?php
$text = addslashes ($_POST['text']);
echo $text;
/* Ausgabe:
Wir alle kennen die berühmten
Deppen-Aposthrop\'s und hassen sie.*/
// Entfernt den Backslash
$text = stripslashes ($text);
?>
2. chop, trim
Entfernen überflüssige Leerzeichen, chop nur am Ende einer Zeichenkette, trim auch am Anfang. Diese
Funktionen sind besonders nützlich beim Verarbeiten von so genannten csv-Dateien.
<?php
$chop = chop ($string);
$trim = trim ($string);
?>
3. chunk_split
Hiermit kann man einen String in gleichlange Einzelteile zerlegen. Der erste Parameter gibt dabei die Anzahl von Zeichen vor. Diese Funktion ist besonders nützlich bei der Base64-Kodierung von längeren Texten, da laut Spezifikation nur 76 Zeichen pro Zeile erlaubt sind.
<?php
$base_string = chunk_split (base64_encode ($string));
?>
4. explode, split / implode, join
explode, split
Wandelt eine Zeichenkette anhand eines Trennsymbols in ein Array um. Bei explode muss ein konkretes Zeichen angegeben
werden, bei split kann man Reguläre Ausdrücke benutzen.
implode, join
Diese Funktionen machen das genaue Gegenteil von explode und split). Sie verbinden die einzelnen Elemente
eines Arrays zu einer einzigen Zeichenkette, nur getrennt durch ein vorgegebenes Zeichen.
<?php
$array = explode (';', $string);
$string = implode (';', $array);
?>
5. htmlspecialchars, htmlentities, nl2br
Wandeln normale Zeichen in HTML-Notation um. htmlspecialchars beschränkt sich auf die Zeichen ",
&, < und >, während htmlentities sich auch noch alle anderen Sonderzeichen wie
zum Beispiel ä, ö oder ü kümmert. nl2br macht aus normalen Zeilenumbrüchen ein
<br>.
<?php
$convert = htmlspecialchars ($string);
$convert = htmlentities ($string);
$convert = nl2br ($string);
?>
8. strip_tags
Schmeißt jeglichen HTML- und PHP-Code aus einer Zeichenkette heraus.
<?php
$naked_text = strip_tags ($html_string);
?>
9. str-Funktionen
strlen
Gibt die Anzahl von Zeichen in einem String aus.
<?php
$string = 'Kräh bla schwall';
echo strlen ($string);
// Gibt 16 aus
?>
strpos, strrpos
strpos findet das erste Zeichen in einem String, strrpos das letzte. Bei der Überprüfung muss man darauf
achten, dass wenn der/die gesuchte(n) Buchstabe(n) am Anfang stehen, so wird eine 0 ausgegeben. Daher Vorsicht bei
Bedingungen. Da sollte man binär prüfen.
<?php
$string = 'Kräh bla schwall';
$pos = strpos ($string, 'b');
// Gibt 5 aus, da bei 0 angefangen wird
$string = 'Kräh bla schwall';
if (!strpos($string, 'Kräh'))
// Bedingung greift nicht, da Wert 0 ist
$string = 'Kräh bla schwall';
if (false !== strpos($string,'Kräh'))
// Bedingung greift, da Binärvergleich
?>
strstr, stristr
Gibt einen String ab dem ersten Vorkommen der Zeichenkette aus, strstr unterscheidet zwischen Groß- und Kleinschreibung,
stristr nicht.
<?php
$string = 'Kräh bla schwall';
echo strstr ($string, 'bla');
// Gibt bla schwall aus
?>
strtolower, strtoupper
strtolower wandelt alle Zeichen in Kleinbuchstaben um, strtoupper in Großbuchstaben.
<?php
$string = 'kräh bla schwall';
echo strtoupper ($string);
// Gibt KRÄH BLA SCHWALL aus
?>
str_replace
Ersetzt eine Zeichenkette durch eine Andere.
<?php
$string = 'kräh bla schwall';
echo str_replace ('bla', 'blubb', $string);
// Gibt kräh blubb schwall aus
?>