如何从 url 中获取参数并用冒号 (:) 分割
How to get parameter from url split by colon (:)
我有这个 url:“http://example.com/search/dep_city:LON/arr_city=NYC”。
如何从 PHP 中的 url 中获取值 "LON" 和 "NYC"?
如果 url 通过使用 "$_GET['dep_city']" 格式为 "dep_city=LON" ,这将很容易,但在这种情况下,我很困惑如何做到这一点。
预先感谢您的时间和帮助。
从服务器获取URL,将其分解成多个部分。
检查每部分的 : 或 = 的索引,将其解析为数组。
<?php
$url = substr( $_SERVER["REQUEST_URI"], 1, strlen($_SERVER["REQUEST_URI"]));
$vars = explode("/", $url);
foreach($vars as $var){
$indexEquals = strpos($var, "=");
if($indexEquals === false){
$indexColon = strpos($var, ":");
$part1 = substr($var, 0, $indexColon);
$part2 = substr($var, $indexColon+1, strlen($var));
}else{
$part1 = substr($var, 0, $indexEquals);
$part2 = substr($var, $indexEquals+1, strlen($var));
}
$params[$part1] = $part2;
}
echo json_encode($params);
die();
我有这个 url:“http://example.com/search/dep_city:LON/arr_city=NYC”。 如何从 PHP 中的 url 中获取值 "LON" 和 "NYC"? 如果 url 通过使用 "$_GET['dep_city']" 格式为 "dep_city=LON" ,这将很容易,但在这种情况下,我很困惑如何做到这一点。 预先感谢您的时间和帮助。
从服务器获取URL,将其分解成多个部分。 检查每部分的 : 或 = 的索引,将其解析为数组。
<?php
$url = substr( $_SERVER["REQUEST_URI"], 1, strlen($_SERVER["REQUEST_URI"]));
$vars = explode("/", $url);
foreach($vars as $var){
$indexEquals = strpos($var, "=");
if($indexEquals === false){
$indexColon = strpos($var, ":");
$part1 = substr($var, 0, $indexColon);
$part2 = substr($var, $indexColon+1, strlen($var));
}else{
$part1 = substr($var, 0, $indexEquals);
$part2 = substr($var, $indexEquals+1, strlen($var));
}
$params[$part1] = $part2;
}
echo json_encode($params);
die();