(PHP 4, PHP 5, PHP 7, PHP 8)
addcslashes — Экранирует строку слешами в стиле языка C
Функция добавляет обратные слеши перед символами, которые перечислили в параметре characters
,
и возвращает заэкранированную строку.
string
Строка, в которой требуется заэкранировать символы.
characters
Список символов для экранирования.
Отдельные управляющие символы наподобие перевода строки или возврата каретки функция заменяет в стиле языка C,
если параметр characters
содержит последовательности символов \n
, \r
и аналогичные.
Остальные небуквенно-цифровые символы с ASCII-кодами ниже 32 и выше 126 функция преобразует
в восьмеричное представление.
Список символов для экранирования.
Функция заменит во входной строке управляющие символы по правилам языка C,
если параметр characters
содержит последовательности символов наподобие \n
и \r
.
Остальные небуквенно-цифровые символы с ASCII-кодами ниже 32 и выше 126 функция преобразует
в восьмеричное представление.
Диапазон символов в аргументе characters
определяют правильными символами начала и конца диапазона, чтобы символы между начальным
и конечным значением диапазона образовывали правильную последовательность символов.
Пример #1 Пример работы функции addcslashes() с диапазонами
<?php
echo addcslashes('foo[ ]', 'A..z');
// Выводит: \f\o\o\[ \]
// Функция заэкранирует заглавные и строчные английские буквы
// ... а также [\]^_`
?>
Пример #2 Пример поведения функции addcslashes() с символами в неправильном порядке
<?php
echo addcslashes("zoo['.']", 'z..A'); // Выводит: \zoo['\.']
?>
При экранировании символов 0, a, b, f, n, r, t и v соблюдают осторожность.
Функция преобразовывает эти символы в предопределённые управляющие последовательности языка C:
\0, \a, \b, \f, \n, \r, \t и \v. Эти последовательности работают и в других Си-подобных языках, включая PHP.
Поэтому с этими символами в аргументе characters
функция addcslashes() иногда возвращает результат, который интерпретируется как управляющие последовательности,
если использовать вывод функции для генерации кода на этих языках.
Функция возвращает заэкранированную строку.
Символы наподобие "\0..\37" в параметре characters
заэкранируют каждый символ с ASCII-кодами от 0 до 31.
Пример #3 Пример использования функции addcslashes()
<?php
$not_escaped = "PHP isThirty\nYears Old!\tYay to the Elephant!\n";
$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377");
echo $escaped;
?>