add_magic_quotes()
云策文档标注
概述
add_magic_quotes() 是一个 WordPress 函数,用于递归遍历数组并对字符串内容进行转义处理。它通过 addslashes() 函数为数组中的字符串添加反斜杠,以增强数据安全性。
关键要点
- 函数接受一个数组参数 $input_array,并返回经过转义处理的数组。
- 递归处理嵌套数组,对字符串元素应用 addslashes(),非字符串值保持不变。
- 主要用于数据清理,例如在 wp_magic_quotes() 中处理 $_GET、$_POST 等超全局变量。
代码示例
function add_magic_quotes( $input_array ) {
foreach ( (array) $input_array as $k => $v ) {
if ( is_array( $v ) ) {
$input_array[ $k ] = add_magic_quotes( $v );
} elseif ( is_string( $v ) ) {
$input_array[ $k ] = addslashes( $v );
}
}
return $input_array;
}注意事项
- 自 WordPress 5.5.0 起,非字符串值(如整数、布尔值)不再被处理,保持原样。
- 该函数从版本 0.71 引入,是 WordPress 早期安全机制的一部分,但现代开发中应谨慎使用,因为 magic quotes 特性已过时。
原文内容
Walks the array while sanitizing the contents.
Parameters
$input_arrayarrayrequired-
Array to walk while sanitizing contents.
Source
function add_magic_quotes( $input_array ) {
foreach ( (array) $input_array as $k => $v ) {
if ( is_array( $v ) ) {
$input_array[ $k ] = add_magic_quotes( $v );
} elseif ( is_string( $v ) ) {
$input_array[ $k ] = addslashes( $v );
}
}
return $input_array;
}