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