繁体   English   中英

PHP:从编码的URL获取参数

[英]PHP: Get parameter from encoded url

我有这个网址:

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

如何从该网址GET site_id?

这样检查

  <?php
  $abc ="/?goto=%2Fr%2Faccount%2Findex%2Ecfm%3Fsite_id%3D87211";

  $test = parse_url($abc);
  $test = urldecode($test["query"]);

  $url = parse_url($test);    
  parse_str($url['query'], $param);
  print_r($param["site_id"]);

  ?>

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

$_GET['goto']上尝试parse_strparse_url

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

尝试在URL函数中使用rawurldecode

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

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

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

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

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

尝试这个

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM