在php中获取url参数

在php中获取url参数,php,url,parameters,Php,Url,Parameters,我有这样一个url: http://ar.com.expedia.www/Mendoza-Hoteles-Mod-Hotels-Mendoza.h3385807.Informacion-Hotel?chkin=01/05/2014&chkout=04/05/2014&rm1=a2& 请注意url末尾的&。我需要从restful web服务获取此url。 如何获取整个url作为参数,包括尾随的符号和。忽略反向域。它被处理好了 我试过这个: $url = a

我有这样一个url:

    http://ar.com.expedia.www/Mendoza-Hoteles-Mod-Hotels-Mendoza.h3385807.Informacion-Hotel?chkin=01/05/2014&chkout=04/05/2014&rm1=a2&
请注意url末尾的&。我需要从restful web服务获取此url。 如何获取整个url作为参数,包括尾随的符号和。忽略反向域。它被处理好了

我试过这个:

    $url = array_shift($_GET);
    foreach ($_GET as $key => $value) {
        $url .= '&' . $key . (($value == '') ? '' : '=') . $value;
    }

从解析url开始:

var_dump(
  parse_url("http://ar.com.expedia.www/Mendoza-Hoteles-Mod-Hotels-Mendoza.h3385807.Informacion-Hotel?chkin=01/05/2014&chkout=04/05/2014&rm1=a2&")
);
结果将是

array(4) {
  ["scheme"]=>
  string(4) "http"
  ["host"]=>
  string(18) "ar.com.expedia.www"
  ["path"]=>
  string(62) "/Mendoza-Hoteles-Mod-Hotels-Mendoza.h3385807.Informacion-Hotel"
  ["query"]=>
  string(42) "chkin=01/05/2014&chkout=04/05/2014&rm1=a2&"
}
然后,您可以使用
explode
继续执行
[“查询”]

使用regex的示例
检查它是否是你想要的

<?php
$a="http://ar.com.expedia.www/Mendoza-Hoteles-Mod-Hotels-Mendoza.h3385807.Informacion-  Hotel?chkin=01/05/2014&chkout=04/05/2014&rm1=a2&";

preg_match("/(?:http(?:s)?:\/\/)(.+)$/","$a",$result);

echo $result[1];

?>

给你

<?php
$url = 'http://www.IrfanAnsari.com/embedviz?q=select+col9+from+1c16ZytvOGsazT5r4borWzDSKmRy1dyeCqzOHdnWb&viz=MAP&h=false&lat=28.098107336734692&lng=68.93999515039059&t=1&z=6&l=col9&y=2&tmplt=2&hml=GEOCODABLE';

function grab_url($url) {
  if(!empty($url)) {
    $urllist=parse_url($url);
    if(is_array($urllist) && isset($urllist["query"])) {
      $keyvalue_list=explode("&",($urllist["query"]));
      $keyvalue_result=array();
      foreach($keyvalue_list as $key=>$value) {
        $keyvalue=explode("=",$value);
        if(count($keyvalue)==2) 
          $keyvalue_result[$keyvalue[0]]=$keyvalue[1];
      }
    }
  }
  return $keyvalue_result;
}
var_dump( grab_url($url) );
?>


您能再指定一点吗?您想要提取的确切值是什么?从http://到最后一个的整个url&您想要这个吗?“ar.com.expedia.www/Mendoza Hoteles Mod Hotels Mendoza.h3385807.Informacion Hotel?chkin=01/05/2014&chkout=04/05/2014&rm1=a2”包括或不包括我在使用parse_url方法时想到的最后一个&?但regex更容易