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'
)