addslashes

(PHP 4, PHP 5, PHP 7)

addslashesЭкранирует строку с помощью слешей

Описание

addslashes ( string $str ) : string

Возвращает строку с обратным слешем перед символами, которые нужно экранировать. Экранируются следующие символы:

  • одинарная кавычка (')
  • двойная кавычка (")
  • обратный слеш (\)
  • NUL (байт NULL)

Небольшой пример использования функции addslashes() для экранирования вышеперечисленных символов:

<?php
$str 
"O'Reilly?";
eval(
"echo '" addslashes($str) . "';");
?>

До версии PHP 5.4.0, директива magic_quotes_gpc была включена по умолчанию и, фактически, addslashes() автоматом применялась к данным GET, POST и COOKIE. Функция addslashes() не должна применяться к строкам, которые уже были экранированы посредством magic_quotes_gpc, так как двойное экранирование - это не то, чего вы обычно хотите. Используйте функцию get_magic_quotes_gpc() для проверки, установлена ли директива magic_quotes_gpc в значение on.

Иногда функцию addslashes() некорректно пытаются использовать для предотвращения SQL-инъекций. Не делайте так. Вместо нее используйте подготовленные запросы или функции экранирования соответствующих расширений работы с базами данных.

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

str

Экранируемая строка.

Возвращаемые значения

Возвращает экранируемую строку.

Примеры

Пример #1 Пример использования addslashes()

<?php
$str 
"Ваше имя O'Reilly?";

// выводит: Ваше имя O\'Reilly?
echo addslashes($str);
?>

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

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