我想尝试获取链接的参数,如下所示:分开:
http://localhost/index/test:1
我如何通过php获得测试及其价值(1)?
提前致谢; )
答案 0 :(得分:0)
与genesis一样,强烈建议您更改查询的样式。 ?param1=value1¶m2=param2
格式是行业和技术标准。
如果无法更改查询样式,则可以手动解析请求URI。
您可以通过$_SERVER['REQUEST_URI'];
获取它并使用string functions进行一些解析,例如strpos
。
然而,这应该是最后的手段。
答案 1 :(得分:0)
如果您不想使用$_GET
和.htaccess
,则其他人建议使用此功能。
<?php
$url = "http://localhost/index/test:1";
$pa = parse_url($url);
$arr = explode("/", $pa['path']);
array_shift($arr); array_shift($arr);
$arr = explode(":", $arr[0]);
print_r($arr);
?>
输出//
Array
(
[0] => test
[1] => 1
)
元素现在存储在一个数组中。
答案 2 :(得分:-1)
如果按:
- 分隔参数表示port
号码,则可以使用parse_url
:
parse_url("http://localhost:1000/index/test", PHP_URL_PORT);
虽然端口号应该在主机地址之后
如果你想将一些参数传递给url,你应该使用&
- 分隔语句(就像其他人说的那样):
?param1=value1¶m2=param2
如果您坚持导航到这个不寻常的网址并希望获取1
,则可以使用$_SERVER['REQUEST_URI']
获取整个网址。