|
(PHP 4)
addcslashes - мнемонизирует строку слэшами в стиле C.
Описаниеstring addcslashes (string str, string charlist)Возвращает строку с обратными слэшами перед теми символами, которые
перечислены в параметре charlist. Мнемонизирует/escape \n, \r
и др. в C-подобном стиле, символы с ASCII-кодом меньше 32 и выше
126 конвертируются в восьмеричное представление.
Будьте внимательны, если хотите мнемонизировать символы 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" будет
мнемонизировать все символы с ASCII-кодами в диапазоне от 0 до 31.
Пример 1. addcslashes()
$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377"); | |
Когда вы определяете последовательность символов в аргументе charlist,
удостоверьтесь, какие символы идут между символами, которые вы установили в начале и в конце диапазона.
echo addcslashes('foo[ ]', 'A..z');
// вывод: \f\o\o\[ \]
// Все буквы в нижнем и верхнем регистрах (диапазона) будут мнемонизированы
// ... кроме [\]^_` и любых tabs, line feeds, carriage returns, etc. |
Также, если первый символ диапазона имеет меньшее ASCII-значение, чем второй
символ диапазона, диапазон не будет сконструирован. Будут только мнемонизированы начальный, конечный символы и тире. Используйте функцию
ord() для определения ASCII-значения символа.
echo addcslashes("zoo['.']", 'z..A');
// вывод: \zoo['\.'] |
См. также
stripcslashes(), stripslashes(),
htmlspecialchars() и
quotemeta(). | |