如何从php中的正则表达式中的字符串中提取下一个URL的URL?

时间:2015-04-23 09:18:23

标签: php regex routes

例如:

http://www.baseURL.com/sports/what-sports/sportsName-golf/golf/mini-golf/menu

或:

http://www.baseURL.com/dance/what-dnace/dnaceName-dhupodi/menu

我想得到:

dance

OR

sports

这是我的代码:

$router->map('GET','/[*:subMenu]/menu','KisorniruTest/index.php','subMenu');

通过这种方式,我获得了结果,但结果是sports/what-sports/sportsName-golf/golf/mini-golfdance/what-dnace/dnaceName-dhupodi但我只想选择sportsdance。我已经对此做了一些搜索,但我没有得到我预期的结果。

我使用此类进行路由:http://altorouter.com/

2 个答案:

答案 0 :(得分:1)

如果我是你,我将使用php库轻​​松操作网址

喜欢:

http://url.thephpleague.com/3.0/

它完成了我想要的几个项目。

答案 1 :(得分:1)

试试这个:

$url = 'http://www.baseURL.com/dance/what-dnace/dnaceName-dhupodi/menu';
$a = parse_url($url);
$u = explode("/",$a['path']);
print_r($u[1]);