Описание
string
addcslashes
( string str, string charlist )
Возвращает сроку str
, в которой перед каждым
символом из перечисленных в charlist
символов
добавлен обратный слэш (\
). Экранируются
\n
, \r
и т.д. в стиле языка C,
символы с ASCII менее 32 и более 126 преобразуются в восьмеричное
представление.
Будьте внимательны при экранировании символв 0, a, b, f, n, r,
t и v. Они будут преобразованы в \0, \a, \b, \f, \n, \r, \t
и \v.
В C все они являются предопреденными escape-последовательностями, в
то время как в PHP только \0 (NULL
), \r (возврат каретки), \n
(перевод строки) и \t (табуляция).
При передаче charlist
вида "\0..\37" будут
экранированы символы с ASCII кодами от 0 до 37.
Следует быть внимательным при указании диапазона символов в аргументе
charlist. Проверяйте, какие символы входят в этот диапазон.
<?php echo addcslashes('foo[ ]', 'A..z'); // выводит: \f\o\o\[ \] // Будут экранированы заглавные и строчные английские буквы // ... а также [\]^_` а также табуляция, // возврат каретки, перевод строки и т.д. ?>
|
Также, если ASCII код первого символа диапозона больше, чем
последнего, диапазон не будет создан. Вместо этого будут
экранироваться только первый и последний символы и
точка. Для определения ASCII кода символов используйте функцию
ord()
.
<?php echo addcslashes("zoo['.']", 'z..A'); // выводит: \zoo['\.'] ?>
|