我需要在使用parse_str
功能时修剪或消毒文本。
我尝试了这个,但文本实际上没有修剪过:
parse_str(trim($_REQUEST['data']), $v);
例如,我得到以下结果:
- 通过" "
我获得" "
而不是""
;
- 通过" a "
我获得" a "
而不是"a"
。
答案 0 :(得分:3)
请改为尝试:
parse_str($_REQUEST['data'], $v);
$v = array_map('trim', $v);
如果要从查询字符串中的每个元素修剪空格,请先将查询字符串转换为parse_str()
的数组,然后将trim()
每个结果元素转换为该数组。
修改强>
根据您上面的一条评论,您可能正在寻找比trim()
更全面的内容。如果是这种情况,您可以定义自己的"消毒"功能并使用array_map()
代替" trim":
function sanitize($input)
{
return trim(str_replace(' ', '', $input));
}
parse_str($_REQUEST['data'], $v);
$v = array_map('sanitize', $v);