stripslashes_deep()
Проходит по массиву, объекту, скаляру и удаляет экранирующие слэши (\) у строковых значений.
Если передан многомерный массив, для каждого значения массива, которое также является массивом, используется функция array_map() с фильтром stripslashes() и все значения массива любой «глубины» будут очищены от \
.
Вместо этой функции рекомендуется использовать wp_unslash().
Хуков нет.
Возвращает
Разное
. массив с удаленными \ из его строковых значений.
Использование
$value = stripslashes_deep( $value );
- $value(строка/массив) (обязательный)
- Массив или строка, которую нужно очистить от экранирующих слэшей
\
.
Примеры
#1 Очистка от слэшей глобальный массивов
Предположим нам нужно очистить от слэшей глобальные массивы $_POST, $_GET, $_COOKIE, или $_REQUEST, во время разработки своего приложения в среде WordPress.
Например, мы создает страницу контактов, в которой используем форму отправки сообщения. Чтобы получить данные без слэшей, отправленные через эту форму мы может пропустить весь массив $_POST через функцию:
$_POST = stripslashes_deep( $_POST );
Функция пройдет по всем данным, даже если массив многомерный и удалит \ у всех значений массива и под массивов.
#2 Хорошая практика написания кода
WordPress добавляет слеши к $_POST/$_GET/$_REQUEST/$_COOKIE независимо от того, что возвращает get_magic_quotes_gpc(). Поэтому в контексте WordPress при использовании этих переменных всегда следует удалять экранируемые слэши.
Пример:
$my_post = stripslashes_deep( $_POST ); $my_value = $my_post['value'];
Or:
$my_value = stripslashes( $_POST['value'] );
Список изменений
С версии 2.0.0 | Введена. |
Код stripslashes_deep() stripslashes deep WP 6.7.1
function stripslashes_deep( $value ) { return map_deep( $value, 'stripslashes_from_strings_only' ); }