String-Funktionen
PHP Manual

addslashes

(PHP 4, PHP 5)

addslashesStellt bestimmten Zeichen eines Strings ein "\" voran

Beschreibung

string addslashes ( string $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 der 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 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 hat standardmäßig den Wert on, so dass grundsätzlich die Funktion addslashes() auf alle GET-, POST- und COOKIE-Daten angewendet wird. 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().

Parameter-Liste

str

Die zu maskierende Zeichenkette.

Rückgabewerte

Gibt die maskierte Zeichenkette zurück.

Beispiele

Beispiel #1 Ein addslashes()-Beispiel

<?php
$str 
"Ist dein Name wirklich O'reilly?";

// Ausgabe: Ist dein Name wirklich O\'reilly?
echo addslashes($str);
?>

Siehe auch


String-Funktionen
PHP Manual