如何在正斜杠之后获取文本(直到下一个正斜杠或字符串结尾)?

I have a URL cleaned up to look like this:

/foo/bar

I tried this:

preg_match('#([a-zA-z0-9]+)#', $path, $matches);

But $matches is output as:

Array
(
    [0] => /foo
    [1] => foo
)

What regex can be used (i.e. with preg_match()) to get foo and bar?

You can best use explode for this:

print_r(explode('/',ltrim('/foo/bar','/')));

But if you want to do it with regex (for this very bad) just use preg_match_all():

preg_match_all('/([a-zA-Z0-9]+)/','/foo/bar', $matches);
echo '<pre>';
print_r($matches[0]);

For more information look at: http://nl3.php.net/manual/en/function.preg-match-all.php Both result in:

Array
(
    [0] => foo
    [1] => bar
)

Use PHP explode():

$arr = explode('/', substr($str,1) );

returns

Array(
   [0] = 'foo';
   [1] = 'bar'
)