Обработка строк
PHP Manual

addslashes

(PHP 4, PHP 5, PHP 7)

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

Описание

string addslashes ( string $str )

Возвращает строку с обратным слешем перед символами, которые нужно экранировать. Экранируются одинарная кавычка ('), двойная кавычка ("), обратный слеш (\) и NUL (байт NULL).

Примером использования функции addslashes() может служить добавление данных в строку, которую будет выполнять PHP. Например, если O'Reilly помещается в переменную $str, то вам необходимо экранировать $str. (то есть eval("echo '".addslashes($str)."';"); )

Для экранирования параметров в базе данных нужно использовать специализированные экранирующие функции СУБД (например, mysqli_real_escape_string() для MySQL или pg_escape_literal(), pg_escape_string() для PostgreSQL). СУБД имеют разные спецификации для идентификаторов (то есть имен таблиц, имен полей) и для параметров. Некоторые СУБД, такие как PostgreSQL, предоставляют отдельные функции экранирования идентификаторов (pg_escape_identifier()), но не все СУБД предоставляют такое API. В этом случае ориентируйтесь на документацию к вашей базе данных для выбора верного способа экранирования.

Если в вашей СУБД нет экранирующей функции и она использует символ \ для экранирования специальных символов, то вы можете использовать функцию addslashes(), но только если этот метод экранирования походит для вашей базы данных. Обратите внимание на то, что использование этой функции для экранирования параметров может привести к проблемам безопасности во многих базах данных.

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

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

str

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

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

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

Примеры

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

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

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

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


Обработка строк
PHP Manual