Мне нужно обрезать или дезинфицировать текст при использовании parse_str
функция.
Я пытаюсь с этим, но текст на самом деле не обрезается:
parse_str(trim($_REQUEST['data']), $v);
Например, я получаю эти результаты:
— прохождение " "
я получил " "
вместо ""
;
— прохождение " a "
я получил " a "
вместо "a"
,
Попробуйте это вместо этого:
parse_str($_REQUEST['data'], $v);
$v = array_map('trim', $v);
Если вы хотите удалить пробелы из каждого элемента в строке запроса, сначала преобразуйте строку запроса в массив с parse_str()
, затем trim()
каждый результирующий элемент этого массива.
РЕДАКТИРОВАТЬ
Основываясь на одном из ваших комментариев выше, вы можете искать что-то более тщательное, чем просто trim()
, Если это так, вы можете определить свою собственную «дезинфицирующую» функцию и использовать ее с array_map()
вместо «обрезки»:
function sanitize($input)
{
return trim(str_replace(' ', '', $input));
}
parse_str($_REQUEST['data'], $v);
$v = array_map('sanitize', $v);
Других решений пока нет …