Sep
17
2010
addcslashes()

Пример 1. Пример использования addcslashes()

addcslashes

(PHP 4, PHP 5)

addcslashes -- Экранирует спецсимволы в стиле языка C

Описание

string addcslashes ( string str, string charlist )

Возвращает сроку str, в которой перед каждым символом из перечисленных в charlist символов добавлен обратный слэш (\). Экранируются \n, \r и т.д. в стиле языка C, символы с ASCII менее 32 и более 126 преобразуются в восьмеричное представление.

Будьте внимательны при экранировании символв 0, a, b, f, n, r, t и v. Они будут преобразованы в [fde_1284743761_3172461874_1284743761_6728114473_467], \a, \b, \f, \n, \r, \t и \v. В C все они являются предопреденными escape-последовательностями, в то время как в PHP только [fde_1284743761_3172461874_1284743761_6728114473_467] (NULL), \r (возврат каретки), \n (перевод строки) и \t (табуляция).

При передаче charlist вида "[fde_1284743761_3172461874_1284743761_4287417136_8952].." будут экранированы символы с ASCII кодами от 0 до 37.

<?php
$escaped 
addcslashes($not_escaped"[fde_1284743761_3172461874_1284743761_4637814217_8565]..!@7..7");
?>

Следует быть внимательным при указании диапазона символов в аргументе charlist. Проверяйте, какие символы входят в этот диапазон.

<?php
echo addcslashes('foo[ ]''A..z');
// выводит:  \f\o\o\[ \]
// Будут экранированы заглавные и строчные английские буквы
// ... а также [\]^_`  а также табуляция,
// возврат каретки, перевод строки и т.д.
?>

Также, если ASCII код первого символа диапозона больше, чем последнего, диапазон не будет создан. Вместо этого будут экранироваться только первый и последний символы и точка. Для определения ASCII кода символов используйте функцию ord().

<?php
echo addcslashes("zoo['.']"'z..A');
// выводит:  \zoo['\.']
?>

См. также описание функций stripcslashes(), stripslashes(), htmlspecialchars() и quotemeta().

 
 
 
Комментарии
Добавить новый Поиск
Оставить комментарий
Имя:
Email:
 
Веб-сайт:
Тема:
UBB-Код:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Пожалуйста, введите проверочный код, который Вы видите на картинке.
Powered by !JoomlaComment 3.26

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 

Кто онлайн

Сейчас 27 гостей онлайн