如您所知,PHP将$_POST
和$_GET
键中的点和空格替换为_。
示例:
<input name="foo bar" />
发送到服务器而不是$_POST['foo_bar']
后,变为$_POST['foo bar']
。
您是否可以指向一个可以正确处理此问题的脚本,即使对于深度为(name="fo.o[bar][12][]")
的数组也是如此?更换。在发送带有字符的表单之前不能选择,因为帖子来自外部不可编辑的来源。
解决方案应该处理原始帖子数据。
答案 0 :(得分:1)
这不是解决问题的算法解决方案,但它可以解决您的问题。
有些库旨在使处理请求数据更加简单。其中一个是来自Symfony的Request类: http://api.symfony.com/2.0/Symfony/Component/HttpFoundation/Request.html
它包装了ParameterBag,因此很容易获取数据: http://api.symfony.com/2.3/Symfony/Component/HttpFoundation/ParameterBag.html
基本用法是:
use Symfony\Component\HttpFoundation\Request;
$request = Request::createFromGlobals();
echo $request->get('parameter_name');
它也处理多维参数。
您可以在以下网址了解更多信息: http://symfony.com/doc/current/components/http_foundation/introduction.html
答案 1 :(得分:0)
I made some code for this有点hacky,可能更有效但有效。