PHP комбинирует parse_str с аккуратным или любым другим фильтром очистки

Мне нужно обрезать или дезинфицировать текст при использовании parse_str функция.

Я пытаюсь с этим, но текст на самом деле не обрезается:

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

Например, я получаю эти результаты:
— прохождение " " я получил " " вместо "";
— прохождение " a " я получил " a " вместо "a",

-1

Решение

Попробуйте это вместо этого:

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);
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]