PHP解析POST数据

时间:2013-07-12 09:41:10

标签: php

如您所知,PHP将$_POST$_GET键中的点和空格替换为_。

示例:

<input name="foo bar" /> 
发送到服务器而不是$_POST['foo_bar']后,

变为$_POST['foo bar']

您是否可以指向一个可以正确处理此问题的脚本,即使对于深度为(name="fo.o[bar][12][]")的数组也是如此?更换。在发送带有字符的表单之前不能选择,因为帖子来自外部不可编辑的来源。

解决方案应该处理原始帖子数据。

2 个答案:

答案 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,可能更有效但有效。