Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用冒号和数字解析_url()_Php - Fatal编程技术网

Php 使用冒号和数字解析_url()

Php 使用冒号和数字解析_url(),php,Php,因为我没有mod rewrite的权限,所以我用它来解析我的URL $path = explode("/", parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)); 因此,当我的URL为/page/action/1时,它工作得很好。我明白了: [0] => [1] => page [2] => action [3] => 1 然而,当我有类似于:/page/action/simple:1的内容时,它就会中断。它什么也不返回

因为我没有mod rewrite的权限,所以我用它来解析我的URL

$path = explode("/", parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
因此,当我的URL为/page/action/1时,它工作得很好。我明白了:

[0] => [1] => page [2] => action [3] => 1
然而,当我有类似于:/page/action/simple:1的内容时,它就会中断。它什么也不返回

有人知道为什么会发生这种情况吗?我能做些什么来修复它呢?

所以有人发布了关于urlencode的帖子,但随后删除了他们的答案。我玩弄了一下,找到了这个解决办法。这并不是最棒的,但对我来说很管用

如果他们有更好的选择,我还是很想听听他们的意见。但这是我改变的

$path = explode(urlencode("/"), parse_url(urlencode($_SERVER['REQUEST_URI']), PHP_URL_PATH));
foreach($path as &$item) $item = urldecode($item);

试试这样的

$url = $_SERVER['REQUEST_URI'];
$path = explode("/", $url);
var_dump($path);
如果$url=/page/action/simple:1 输出应该是[0]=>[1]=>页面[2]=>操作[3]=>简单:1

这似乎是一个悬而未决的问题