(PHP 4, PHP 5)
addslashes — Stellt bestimmten Zeichen eines Strings ein "\" voran
$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).
Ein Beispiel für die Verwendung von addslashes() ist das Schreiben von Daten in eine Datenbank. Möchte man zum Beispiel einen Namen wie O'reilly in ein Datenbankfeld schreiben, muss er maskiert sein. Es wird dringend empfohlen, die datenbankspezifische Escapefunktion zu verwenden (z.B. mysqli_real_escape_string() für MySQL oder pg_escape_string() für PostgreSQL). Sollte für das von Ihnen verwendete DBMS keine spezielle Escape-Funktion existieren und sollte dieses DBMS \ verwenden, um Sonderzeichen zu maskieren, können Sie ersatzweise diese Funktion verwenden. Dies ist ausschließlich für das Einfügen von Daten in eine Datenbank notwendig, der zusätzliche \ wird nicht wirklich eingefügt. Ist die PHP-Direktive magic_quotes_sybase den Wert on, wird ein ' anstelle des Backslashes mit einem weiteren ' maskiert.
Die PHP-Direktive magic_quotes_gpc war vor PHP 5.4 standardmäßig aktiviert, sodass die Funktion addslashes() auf alle GET-, POST- und COOKIE-Daten angewendet wurde. Verwenden Sie daher die Funktion addslashes() nicht, wenn Strings bereits durch magic_quotes_gpc escaped wurden, ansonsten erhalten Sie doppelte Maskierungen. Um herauszufinden, ob der Parameter aktiviert ist, verwenden Sie am einfachsten die Funktion get_magic_quotes_gpc().
str
Die zu maskierende Zeichenkette.
Gibt die maskierte Zeichenkette zurück.
Beispiel #1 Ein addslashes()-Beispiel
<?php
$str = "Ist dein Name wirklich O'reilly?";
// Ausgabe: Ist dein Name wirklich O\'reilly?
echo addslashes($str);
?>