Учебник РНР (перевод Alexandr Pyramidin) Размещено на PHPClub.Net
Назад Вперёд

addcslashes

(PHP 4 )

addcslashes - закавычивает строку слэшами в стиле C.

Описание

string addcslashes ( string str, string charlist)

Возвращает строку с обратными слэшами перед теми символами, которые перечислены в параметре charlist. Заменяет/escape \n, \r etc. в C-подобном стиле, символы с ASCII-кодом меньше 32 и выше 126 конвертируются в восьмеричное представление.

Будьте внимательны, если хотите заменить/escape символы 0, a, b, f, n, r, t и v. Они будут конвертированы в \0, \a, \b, \f, \n, \r, \t и \v. В PHP только \0 (NULL), \r (carriage return/возврат каретки), \n (newline/новая строка) и \t (tab/табуляция) являются предопределёнными escape-последовательностями, в то время как в C все они являются предопределёнными escape-последовательностями.

charlist вроде "\0..\31" будет escape-ировать все символы с ASCII-кодами в диапазоне от 0 до 31.

Пример 1. addcslashes()

$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377");

Когда вы определяете последовательность символов в аргументе charlist, удостоверьтесь, какие символы идут между символами, которые вы установили в начале и в конце диапазона.
echo addcslashes('foo[ ]', 'A..z');
// вывод:  \f\o\o\[ \]
// Все буквы в нижнем и верхнем регистрах (диапазона) будут escape-ированы
// ... кроме [\]^_` и любых tabs, line feeds, carriage возвращает, etc.

Также, если первый символ диапазона имеет меньшее ASCII-значение, чем второй символ диапазона, диапазон не будет сконструирован. Будут только заменены/escaped начальный, конечный символы и тире. Используйте функцию ord() для определения ASCII-значения символа.

echo addcslashes("zoo['.']", 'z..A');
// вывод:  \zoo['\.']

См. также stripcslashes(), stripslashes(), htmlspecialchars() и quotemeta().


Назад Оглавление Вперёд
Строковые функции Вверх addslashes