Core Function AddCSlashes

From Sputnik Wiki
Jump to: navigation, search
AddCSlashes( <str>, <charlist> )

Contents

Description

Escape a string with slashes in a C style.

Parameters

str

The string to be escaped.

charlist

A list of characters to be escaped. 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 octal representation.

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 [\]^_`

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 Asc() function to find the ASCII value for a character (or AscW() for Unicode character).

echo addcslashes("zoo['.']", 'z..A');
// output:  \zoo['\.']

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 and \v. In Sputnik \0 (NULL), \r (carriage return), \n (newline), \f (form feed), \v (vertical tab) and \t (tab) are predefined escape sequences, while in C all of these are predefined escape sequences.

Return Value

Returns the escaped string.

Remarks

See StripCSlashes( <str> ).

Example

charlist like "\0..\37", which would escape all characters with ASCII code between 0 and 31.

echo addcslashes("Cat and Dog", @"\0..\37!@\177..\377");
// Prints: \Cat and \Dog

Perhaps the following is a more efficient JavaScript escape function:

function jsEscape($str)
{
    return addcslashes($str, "\\\'\"&\n\r<>");
}
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox