PHP将parse_str与trim或任何其他清理过滤器结合使用

时间:2015-01-16 22:20:39

标签: php trim sanitization

我需要在使用parse_str功能时修剪或消毒文本。

我尝试了这个,但文本实际上没有修剪过:

parse_str(trim($_REQUEST['data']), $v); 

例如,我得到以下结果: - 通过" "我获得" "而不是""; - 通过" a "我获得" a "而不是"a"

1 个答案:

答案 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);