PHP 将 parse_str 与 trim 或任何其他净化过滤器组合

PHP combine parse_str with trim or any other sanitize filter

我需要 trim 或在使用 parse_str 功能时清理文本。

我试过这个,但文本实际上不是 trimmed:

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

例如,我得到这些结果: - 通过 " " 我得到 " " 而不是 ""; - 通过 " a " 我得到 " a " 而不是 "a".

试试这个:

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

如果您想要 trim 查询字符串中每个元素的空格,首先使用 parse_str() 将您的查询字符串转换为数组,然后 trim() 该数组的每个结果元素.

编辑

根据您上面的评论之一,您可能正在寻找比 trim() 更全面的内容。如果是这种情况,您可以定义自己的 "sanitizing" 函数并将其与 array_map() 一起使用,而不是 "trim":

function sanitize($input)
{
    return trim(str_replace(' ', '', $input));
}

parse_str($_REQUEST['data'], $v);
$v = array_map('sanitize', $v);