Function.addslashes
Aus PHP-Wiki
addslashes — Stellt bestimmten Zeichen eines Strings ein "\" voran
Inhaltsverzeichnis |
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
#1 Ein addslashes()
<?php $str = "Ist dein Name wirklich O'reilly?"; // Ausgabe: Ist dein Name wirklich O\'reilly? echo addslashes($str); ?>