php - 解析友好网址

时间:2010-08-14 18:50:41

标签: php regex friendly-url

我有这样的网址

/cp/foo-bar/another-testing

如何使用模式

解析它
/cp/{0}-{1}/{2}

结果将是

0:foo
1:bar
2:another-testing

我需要一个全局解决方案来解析所有类型的url。我的意思是使用{0},{1}标志。

2 个答案:

答案 0 :(得分:2)

if (preg_match('#/cp/([^/]+?)-([^/]+?)/([^/]+)#'), $url, $matches)) {
    //look into $matches[1], $matches[2] and $matches[3]
}

答案 1 :(得分:1)

我没有使用{0}{1}{2},而是提供了一种新的方式:使用{$s[0]}{$s[1]}{$s[2]}:< / p>

$your_url = '/cp/foo-bar/another-testing';
$s = explode('/', $your_url);
if(!$s[0])
     array_shift($s);
if($temp = array_pop($s))
     $s[] = $temp;
//then
$result = "/cp/{$s[0]}-{$s[1]}/{$s[2]}";