addcslashes
(PHP 4, PHP 5, PHP 7, PHP 8)
addcslashes — Stellt bestimmten Zeichen eines Strings ein "\" voran (wie in C)
Beschreibung
$string
, string $characters
): string
Gibt eine Zeichenkette zurück, in der allen Zeichen, die in
characters
aufgeführt sind, ein "\" vorangestellt
ist.
Parameter-Liste
-
string
-
Die zu maskierende Zeichenkette.
-
characters
-
Eine Liste der zu maskierenden Zeichen. Wenn
characters
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 maskieren möchten. Sie werden zu \0, \a, \b, \f, \n, \r, \t oder \v gewandelt, die in C sämtlich vordefinierte Escape-Sequenzen sind. Viele dieser Sequenzen sind ebenfalls in anderen von C abgeleiteten Sprachen, einschließlich PHP, vordefiniert. Das bedeutet, dass Sie u.U. nicht das gewünschte Ergebnis erhalten, wenn Sie die Rückgabe von addslashes() verwenden, um Code in diesen Sprachen zu erzeugen, wenn diese Zeichen in
charlist
definiert sind.
Rückgabewerte
Gibt die maskierte Zeichenkette zurück.
Beispiele
characters
-Angaben wie "\0..\37" (oktal) bewirken
ein Maskieren aller Zeichen mit einem ASCII-Code zwischen 0 und 31
(dezimal).
Beispiel #1 addcslashes()-Beispiel
<?php
$maskiert = addcslashes($nicht_maskiert, "\0..\37!@\177..\377");
?>
Siehe auch
- stripcslashes() - Demaskiert einen mit addcslashes maskierten String
- stripslashes() - Entfernt Maskierungszeichen aus einem String
- addslashes() - Stellt bestimmten Zeichen eines Strings ein "\" voran
- htmlspecialchars() - Wandelt Sonderzeichen in HTML-Entities um
- quotemeta() - Maskiert (quotet) Meta-Zeichen