代码之家  ›  专栏  ›  技术社区  ›  Kladskull

在PHP中解析变量的奇特URL(/class/method/x/1/y/1/z/1/)

php
  •  1
  • Kladskull  · 技术社区  · 17 年前

    我确信有人已经完成了这项工作,并希望有人可以共享一些代码。

    我们有以下.htaccess文件:

    RewriteEngine on
    RewriteBase /
    RewriteRule !\.(js|ico|txt|gif|jpg|png|css)$ index.php
    

    这与Zend使用的相同。我们试图模拟Zend所做的相同的URL结构。我们将使用Zend,但我们可以深入到我们自己的框架中。

    我们要完成的是分析如下所示的URL:

    http://www.test.com/a/b/x/1/y/1/z/1
    

    对此:

    $class = 'a';
    $method = 'b';
    $x = 1;
    $y = 1;
    $z = 'a';
    

    我可以编写最终的解决方案代码,从数字中确定字符串,但我希望有人已经完成了这项工作,并愿意分享。

    1 回复  |  直到 17 年前
        1
  •  5
  •   Gumbo    17 年前

    当您已经拥有url_s路径时,可以这样做:

    $path = '/a/b/x/1/y/1/z/1';
    $segments = explode('/', trim($path, '/'));
    for ($i=0, $n=count($segments); $i<$n-1; ++$i) {
        ${$segments[$i]} = $segments[++$i];
    }
    
    推荐文章