Forum und email

addslashes

(PHP 4, PHP 5)

addslashes — Stellt 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 escaped sein. Die meisten Datenbanken verwenden dafür einen Backslash (\), das bedeutet, der String wird in der Form O\'reilly erwartet. Dies ist ausschließlich für das Einfügen von Daten in eine Datenbank notwendig, der extra \ wird nicht wirklich eingefügt. Hat der php.ini-Parameter magic_quotes_sybase den Wert on, wird ein ' anstelle des Backslashes mit einem weiteren ' escaped.

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 doppeltes Escaping. 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

Example#1 Ein addslashes()-Beispiel

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

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