wp_unslash

Удаляет слэши из переданной строки, или из строковых элементов переданного массива или свойств объекта. Массив может быть любой вложенности.

Например, эту функцию нужно использовать при добавлении $_POST данных в БД с помощью $wpdb->insert(), т.к. $wpdb->insert() ожидает не экранированные данные, тогда как $_POST в WP всегда экранируется.

Но надо помнить, что wp_unslash() используется в функциях API, таких как update_post_meta(), wp_update_post() и т.д. Все эти функции ожидают экранированные данные.

Используйте эту функцию вместо stripslashes_deep().

Если наоборот нужно добавить слэши, используйте: wp_slash().
✈ 1 раз = 0.000027с = очень быстро | 50000 раз = 0.21с = очень быстро PHP 7.0.5, WP 4.5.2

Хуков нет.

Возвращает

Строку или массив без экранированных слэшей.

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

$value = wp_unslash( $value );
$value(строка/массив) (обязательный)
Строка или массив из которых нужно удалить слэши.

Примеры

#1. Удаление слэшей из строки

$val = 'Жером Д'Амброзио - неизвестный гонщик.';
$val = wp_unslash( $val );
echo $val;

// вернет:
// Жером Д'Амброзио - неизвестный гонщик.

#2. Удаление слэшей из элементов массива

Эта функция может быть использована вместо stripslashes_deep(). Так как это рекурсивная функция, она удалит слэши из всех массивов и вложенных в них массивов.

$arr = array(
		"Ты читал 'Человек в футляре'?",
		array( "'Человек в футляре' очень интересный рассказ" )
	   );

$arr = wp_unslash( $arr );
/*
 Вернет: 
 array(
	  "Ты читал 'Человек в футляре'?",
	  array( "'Человек в футляре' очень интересный рассказ" )
 );
*/

Код из


wp-includes/formatting.php

WP 4.7.2

<?php
function wp_unslash( $value ) {
	return stripslashes_deep( $value );
}