2011-11-06 65 views
0

我想尝试获得一个链接的参数时,它的的parameteres:分离象下面这样:获得一个网址

http://localhost/index/test:1

我怎样才能得到检验,并将其值(1)由PHP ?

在此先感谢; )

回答

0

就像发生的说,强烈建议你改变查询的风格。 ?param1=value1&param2=param2格式是行业和技术标准。

如果您无法更改查询样式,则可以手动解析请求URI。 您可以通过$_SERVER['REQUEST_URI'];获取它并使用string functions进行一些解析,例如strpos

但是,这应该是最后的手段。

+1

或者,您可以使用htaccess重写。 – DesignerGuy

-1

如果你的意思是port: - 分隔参数,你可以使用parse_url

parse_url("http://localhost:1000/index/test", PHP_URL_PORT); 

虽然端口号应该是主机地址之后。
如果你想传递一些参数你应该使用& - 分隔语句的URL(就像其他人说的):

?param1=value1&param2=param2 

如果硬要导航到这个不寻常的网址,并希望获取该1,你可以通过$_SERVER['REQUEST_URI']获得整个网址。

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 
) 

的元件现在存储在数组中。

+0

Downvoter Downvoter,什么原因? – Mob