addcslashes

(PHP 4, PHP 5, PHP 7, PHP 8)

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

Описание

addcslashes(string $string, string $characters): string

Функция возвращает строку, которую заэкранировала обратными слешами перед символами, которые указали в параметре characters.

Список параметров

string

Строка, которую требуется заэкранировать.

characters

Список экранируемых символов. Если параметр characters содержит символы \n, \r и т. п., функция преобразует их в стиле языка C, тогда как другие нецифробуквенные символы с ASCII-кодами ниже 32 и выше 126 функция преобразует в восьмеричное представление.

При определении последовательности символов в аргументе characters убедитесь, что знаете, какие символы находятся между символами, которые установили как начало и конец диапазона.

<?php

echo addcslashes('foo[ ]', 'A..z');
// Выводит: \f\o\o\[ \]

// Функция заэкранирует заглавные и строчные английские буквы
// ... а также [\]^_`

?>
Функция не создаст диапазон, если ASCII-код первого символа диапазона больше последнего. Вместо этого функция заэкранирует только первый символ, последний символ и точку. Значение ASCII-кода символов находят функцией ord().
<?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");

?>

Смотрите также

  • stripcslashes() - Удаляет экранирование символов, произведённое функцией addcslashes
  • stripslashes() - Удаляет экранирование символов
  • addslashes() - Экранирует строку слешами
  • htmlspecialchars() - Преобразовывает специальные символы в HTML-сущности
  • quotemeta() - Экранирует специальные символы