php - 如何从用冒号 (:) 分割的 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();
推荐阅读
- python-3.x - 如何从 AWS S3 在 jupyter notebook 中导入 .py 文件
- paypal - 如何在 Paypal Sync 中获取购物车详细信息选项?
- android - findViewById 不能为空
- java - 将 GC 日志与 Logback 集成
- asp.net-mvc-5 - 为什么我的 asp.net 网站在启动时很慢。我使用 resellerclub 共享托管。如何解决这个问题
- django - 如何使用具有多个模型的基于类的视图?
- node.js - 如何在单表架构中使用扫描和查询 - DynamoDB
- python - 从一组对象值的排列生成 JSON 配置文件
- sql-server - 如何使用 docker 创建 Laravel 项目并连接本地 sqlserver db
- node.js - 带有假请求和响应数据的 Node js express js API 测试用例