使用 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