addcslashes
(PHP 4, PHP 5, PHP 7, PHP 8)
addcslashes — Экранирует строку слешами в стиле языка C
Список параметров
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\[ \]
// Функция заэкранирует заглавные и строчные английские буквы
// ... а также [\]^_`
?>
Функция не создаст диапазон, если ASCII-код первого символа диапазона больше
последнего. Вместо этого функция заэкранирует только первый символ, последний символ
и точку. Значение ASCII-кода символов находят функцией
ord().
Пример #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;
?>