addslashes
(PHP 4, PHP 5, PHP 7)
addslashes — Экранирует строку с помощью слешей
Описание
$string
) : 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-инъекций. Не делайте так. Вместо нее используйте подготовленные запросы или функции экранирования соответствующих расширений работы с базами данных.
Список параметров
-
string
-
Экранируемая строка.
Возвращаемые значения
Возвращает экранируемую строку.
Примеры
Пример #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