来自URL的参数分开

时间:2014-10-31 19:06:44

标签: php url

我有一个网址:

http://website.example/script.php?timestamp=2014-10-31T16%3A12%3A57&sms=PM+000+name

我希望捕捉以'+'分隔的值 如果有能力添加到数组或什么:

array sms[
  array_value1 = PM
    array_value2 = 000
      array_value3 = name]

然后取值

$name1 = $array_value3;

将是“名字”

如果可以这样做的话:

$ timestamp =“2014-10-31 T 16 %3A 12 %3A 57”;

这个:

$timestamp = "2014-10-31-16:12:37";

感谢您的回复。

3 个答案:

答案 0 :(得分:0)

$foo = explode(' ', $_GET['sms']); // array('PM','000','name')

你在追求什么? +只是一个空格(%20)的编码,所以服务器端你正在考虑用空格分割它们(尽管它们都属于同一个参数)。

请记住,如果“name”变成“name surname”,你最终会得到一个包含“surname”的第4个数组元素。 (Array('PM','000','name','surname')

答案 1 :(得分:0)

$url=urldecode("http://website.example/script.php?timestamp=2014-10-31T16%3A12%3A57&sms=PM+0+name");
$url=parse_url($url, PHP_URL_QUERY);
$url_split = explode('&', $url);
$timestamp=$url_split[0];
$sms=explode(' ', $url_split[1]);

答案 2 :(得分:0)

关闭,但我想要这个:

$raw = $_GET["sms"];
list($type, $number, $user) = explode(" ", $raw, 3);

echo $user会给出结果:名称

现在需要对那段时间的格式化进行一些思考。