stripslashes_deep

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

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

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

Хуков нет.

Возвращает

массив с удаленными из его значений.

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

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

Примеры

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

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

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

$_POST = stripslashes_deep( $_POST );

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

#2. Правильный кодинг

Когда мы разрабатываем программу для публичного использования, мы не может знать заранее включена ли у сервера функция экранирования данных (magic quotes). Поэтому правильно будет проверить включение этой функции и если она работает, то удалить у данных.

if ( get_magic_quotes_gpc() ) {
	$_POST      = array_map( 'stripslashes_deep', $_POST );
	$_GET       = array_map( 'stripslashes_deep', $_GET );
	$_COOKIE    = array_map( 'stripslashes_deep', $_COOKIE );
	$_REQUEST   = array_map( 'stripslashes_deep', $_REQUEST );
}

Код из


wp-includes/formatting.php

WP 4.7.2

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