(PHP 4, PHP 5, PHP 7, PHP 8)
addcslashes — Экранирует строку слешами в стиле языка C
$string
, string $characters
): string
Возвращает строку, экранированную обратными слешами перед символами,
указанными в параметре 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
.
Возвращает экранированную строку.
characters
, например, "\0..\37", что
проэкранирует все символы с ASCII-кодами от 0 до 31.
Пример #1 Пример использования addcslashes()
<?php
$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377");
?>