stripslashes_deep()WP 2.0.0

Проходит по массиву, объекту, скаляру и удаляет экранирующие слэши (\) у строковых значений.

Если передан многомерный массив, для каждого значения массива, которое также является массивом, используется функция array_map() с фильтром stripslashes() и все значения массива любой «глубины» будут очищены от \.

Вместо этой функции рекомендуется использовать wp_unslash().

Работает на основе: stripslashes_from_strings_only(), map_deep()
Основа для: wp_unslash()

Хуков нет.

Возвращает

Разное. массив с удаленными \ из его строковых значений.

Использование

$value = stripslashes_deep( $value );
$value(строка/массив) (обязательный)
Массив или строка, которую нужно очистить от экранирующих слэшей \.

Примеры

0

#1 Очистка от слэшей глобальный массивов

Предположим нам нужно очистить от слэшей глобальные массивы $_POST, $_GET, $_COOKIE, или $_REQUEST, во время разработки своего приложения в среде WordPress.

Например, мы создает страницу контактов, в которой используем форму отправки сообщения. Чтобы получить данные без слэшей, отправленные через эту форму мы может пропустить весь массив $_POST через функцию:

$_POST = stripslashes_deep( $_POST );

Функция пройдет по всем данным, даже если массив многомерный и удалит \ у всех значений массива и под массивов.

0

#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() WP 6.7.1

function stripslashes_deep( $value ) {
	return map_deep( $value, 'stripslashes_from_strings_only' );
}