为什么这不起作用?
session_start();
print("<pre>".print_r($_POST['foo'],true)."</pre>"); // 'Bob '
array_walk_recursive($_POST, function (&$val) { $val = trim($val); });
print("<pre>".print_r($_POST['foo'],true)."</pre>"); // 'Bob'
$_SESSION['foo'] = filter_input(INPUT_POST, 'foo', FILTER_SANITIZE_STRING);
print("<pre>".print_r($_SESSION['foo'],true)."</pre>"); // 'Bob '
答案 0 :(得分:1)
来自first comment in the manual:
请注意,此功能不会(或至少似乎没有)根据$ _GET等的当前值进行实际过滤。相反,它似乎根据原始值进行过滤。
修改强>
您可以在此处将来电添加到trim()
:
$_SESSION['foo'] = trim(filter_input(INPUT_POST, 'foo', FILTER_SANITIZE_STRING));