( string str, string charlist )
Returns a string with backslashes before characters that are
listed in charlist parameter. If
charlist contains characters
\n, \r etc., they are
converted in C-like style, while other non-alphanumeric characters
with ASCII codes lower than 32 and higher than 126 converted to
Be careful if you choose to escape characters 0, a, b, f, n, r,
t and v. They will be converted to \0, \a, \b, \f, \n, \r, \t
In PHP \0 (NULL), \r (carriage return), \n (newline) and \t (tab)
are predefined escape sequences, while in C all of these are
predefined escape sequences.
charlist like "\0..\37", which would
escape all characters with ASCII code between 0 and 31.
Example 1. addcslashes() example
$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377");
When you define a sequence of characters in the charlist argument
make sure that you know what characters come between the
characters that you set as the start and end of the range.
echo addcslashes('foo[ ]', 'A..z');
// output: \f\o\o\[ \]
// All upper and lower-case letters will be escaped
// ... but so will the [\]^_` and any tabs, line
// feeds, carriage returns, etc.
Also, if the first character in a range has a higher ASCII value
than the second character in the range, no range will be
constructed. Only the start, end and period characters will be
escaped. Use the ord()
function to find the
ASCII value for a character.
echo addcslashes("zoo['.']", 'z..A');
// output: \zoo['\.']
See also stripcslashes(),