(PHP 4, PHP 5)
addcslashes — Stellt bestimmten Zeichen eines Strings ein "\" voran (wie in C)
$str
, string $charlist
)
Gibt eine Zeichenkette zurück, in der allen Zeichen, die in
charlist
aufgeführt sind, ein "\" vorangestellt ist.
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 maskiert
// ... aber ebenfalls die Zeichen [\]^_`
?>
<?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), \f (Seitenvorschub), \v (vertikaler Tabulator) und \t (Tabulator) vordefinierte Escape-Sequenzen, während in C alle der genannten Zeichen vordefinierte Escape-Sequenzen sind.
Gibt die maskierte Zeichenkette zurück.
Version | Beschreibung |
---|---|
5.2.5 | Die Escape-Sequenzen \v and \f wurden hinzugefügt. |
charlist
-Angaben wie "\0..\37" (oktal) bewirken
ein Escapen aller Zeichen mit einem ASCII-Code zwischen 0 und 31 (dezimal).
Beispiel #1 addcslashes()-Beispiel
<?php
$escaped = addcslashes($nicht_escaped, "\0..\37!@\177..\377");
?>