(PHP 4, PHP 5, PHP 7, PHP 8)
addcslashes — Экранирует строку слешами в стиле языка C
Функция возвращает строку, которую заэкранировала обратными слешами перед символами,
которые указали в параметре characters
.
string
Строка, которую требуется заэкранировать.
characters
Список экранируемых символов.
Если параметр characters
содержит символы
\n
, \r
и т. п., функция преобразует их
в стиле языка C, тогда как другие нецифробуквенные
символы с ASCII-кодами ниже 32 и выше 126 функция преобразует
в восьмеричное представление.
При определении последовательности символов в аргументе characters
убедитесь, что знаете, какие символы находятся между символами, которые установили
как начало и конец диапазона.
<?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 —
предопределённые escape-последовательности в языке Си. Многие из этих
последовательностей также определяют другие Си-подобные языки, включая PHP,
то есть иногда выдётся неожиданный результат, если использовать
вывод функции addcslashes(), чтобы создать код в этих языках
с этими символами в аргументе characters
.
Функция возвращает заэкранированную строку.
Символы наподобие "\0..\37" в параметре characters
заэкранируют каждый символ с ASCII-кодами от 0 до 31.
Пример #1 Пример использования функции addcslashes()
<?php
$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377");
?>