Forum und email

addcslashes

(PHP 4, PHP 5)

addcslashes — Stellt bestimmten Zeichen eines Strings ein "\" voran (wie in C)

Beschreibung

string addcslashes ( string $str , string $charlist )

Gibt eine Zeichenkette zurück, in der allen Zeichen, die in charlist aufgeführt sind, ein "\" vorangestellt ist.

Parameter Liste

str

Die zu escapende Zeichenkette.

charlist

Eine Liste der zu escapenden Zeichen. Wenn charlist Zeichen wie \n, \r etc. enthält, werden diese im C-Stil konvertiert, während andere nicht-alphanumerische Zeichen mit einem ASCII-Wert kleiner als 32 oder höher als 126 in ihre oktale Repräsentation umgewandelt werden.

Wenn Sie eine Zeichensequenz im charlist-Parameter notieren, informieren Sie sich darüber, welche Zeichen sich zwischen dem ersten und dem letzten Zeichen befinden!

<?php
echo addcslashes('foo[ ]''A..z');
// Ausgabe:  \f\o\o\[ \]
// Alle groß- und kleingeschriebenen Buchstaben werden escaped
// ... aber ebenfalls die Zeichen [\]^_` sowie die Tabulatoren, Zeilenwechsel
// Wagenvorlauf-Zeichen etc.
?>
Beachten Sie zudem, dass sofern das erste Zeichen einer Sequenz einen höheren ASCII-Wert hat als das zweite, keine Sequenz erstellt wird. Nur das erste und das letzte Zeichen sowie Punkte werden dann escaped. Verwenden Sie die Funktion ord(), um den ASCII-Wert eines Zeichens zu ermitteln.
<?php
echo addcslashes("zoo['.']"'z..A');
// Ausgabe:  \zoo['\.']
?>

Seien Sie besonders vorsichtig, wenn Sie Zeichen wie 0, a, b, f, n, r, t oder v escapen möchten. Sie werden zu \0, \a, \b, \f, \n, \r, \t oder \v gewandelt. In PHP sind \0 (NULL), \r (Wagenrücklauf), \n (Neue Zeile) und \t (Tabulator) vordefinierte Escape-Sequenzen, während in C alle der genannten Zeichen vordefinierte Escape-Sequenzen sind.

Rückgabewerte

Gibt die maskierte Zeichenkette zurück.

Beispiele

charlist -Angaben wie "\0..\37" (oktal) bewirken ein Escapen aller Zeichen mit einem ASCII-Code zwischen 0 und 31 (dezimal).

Example#1 addcslashes()-Beispiel

<?php
$escaped 
addcslashes($nicht_escaped"\0..\37!@\177..\377");
?>