我有清理的URL看起來像這樣:如何在正斜槓之後獲得文本(直到下一個正斜槓或字符串結束)?
/foo/bar
我嘗試這樣做:
preg_match('#([a-zA-z0-9]+)#', $path, $matches);
但是$匹配輸出爲:
Array
(
[0] => /foo
[1] => foo
)
可使用哪些正則表達式(即用preg_match()
)得到foo
和bar
?
我有清理的URL看起來像這樣:如何在正斜槓之後獲得文本(直到下一個正斜槓或字符串結束)?
/foo/bar
我嘗試這樣做:
preg_match('#([a-zA-z0-9]+)#', $path, $matches);
但是$匹配輸出爲:
Array
(
[0] => /foo
[1] => foo
)
可使用哪些正則表達式(即用preg_match()
)得到foo
和bar
?
您可以充分利用爆炸,對這樣的:
print_r(explode('/',ltrim('/foo/bar','/')));
但是如果你想用正則表達式來做到這一點(對於這非常糟糕)只需使用preg_match_all()
:
preg_match_all('/([a-zA-Z0-9]+)/','/foo/bar', $matches);
echo '<pre>';
print_r($matches[0]);
更多信息看:http://nl3.php.net/manual/en/function.preg-match-all.php 兩種結果:
Array
(
[0] => foo
[1] => bar
)
使用PHP爆炸():
$arr = explode('/', substr($str,1));
回報
Array(
[0] = 'foo';
[1] = 'bar'
)
使用'爆炸()',沒有正則表達式需要 – Michael
@邁克爾,這是一個真的* *好點,但我想弄清楚自從我被困了一段時間以後,如何讓這個工作成功。 – Nate