PHP:从编码的url获取参数

时间:2016-08-11 17:29:59

标签: php

我有这个网址:

/?goto=%2Fr%2Faccount%2Findex%2Ecfm%3Fsite_id%3D87211

我如何从此网址GET site_id?

5 个答案:

答案 0 :(得分:1)

检查这个方式,

class Person
  attr_accessor :name, :children

  def initialize(args={})
    @name = args[:name]
  end

  def children
    @children ||= []
  end

  def children=(children_ary)
    children << children_ary
    children.flatten!
  end

  def grandchildren
    children.flat_map(&:children)
  end

end

点击此处检查您的输出:https://eval.in/621360

答案 1 :(得分:0)

$_GET['goto']上尝试parse_strparse_url

parse_str(parse_url($_GET['goto'], PHP_URL_QUERY), $params);
$site_id = $params['site_id'];

答案 2 :(得分:-1)

尝试在网址功能中使用rawurldecode

答案 3 :(得分:-1)

如果您知道您的网址将始终在此结构中,您可以使用RegEx解析它,如下所示:

$url = '/?goto=%2Fr%2Faccount%2Findex%2Ecfm%3Fsite_id%3D87211';
preg_match('/site_id\%3D(\d+)/', $url, $matches);
$siteId = $matches[1];

它正在搜索匹配site_id%3D的任何内容以及其后的数值。

答案 4 :(得分:-1)

通过使用$ _GET ['goto'],您将获得以下网址:

/r/account/index.cfm?site_id=87211

试试这个

    $uri = $_GET['goto'];
    $site = explode("=", $uri);
    echo $site[1];