WordPress 函数:stripslashes_deep

使用 stripslashes 函数去掉 /,如果输入的是对象,使用 get_object_vars 转换成数组,然后对数组递归调用 stripslashes_deep,去掉数组中每个值的 / 。

用法

<?php stripslashes_deep( $value ); ?>

参数

$value
(array|string) (required) 将要去掉 / 的数组或者字符串。
Default: None

返回值

(array|string) 
去掉 / 的数组或者字符串。

实例

基本例子:

$_POST = stripslashes_deep( $_POST );

最佳实践:

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 );
}

注解

  • WordPress 默认忽略 PHP 设置的 magic quotes 的值(magic_quotes_gpc 为 true 时,自动给 ' " \ 添加 /),都会给字符串加上 magic quotes。(甚至 PHP 5.4 删除这个功能)
  • WordPress 这样做的原因是太多 WordPress 核心和插件代码依赖这个功能,所以禁用 magic quotes 会引起一些安全漏洞。

修改记录

Since: 2.0.0

源文件

wp-includes/formatting.php