需要获得路径的中间部分

时间:2012-08-07 20:23:57

标签: php regex string

我有这样的路径

apples/oranges/bananas

我需要在路径中获取中间项,在本例中为oranges。

最好的方法是什么?我可以使用strpos和substr自己做,但我想有更好的方法......

5 个答案:

答案 0 :(得分:6)

$path = explode("/", "apples/oranges/bananas");

echo $path[1];

答案 1 :(得分:3)

你可以爆炸字符串(假设它是)然后从数组中获取正确的索引。像这样:

$string = "apples/oranges/bananas";

$array = explode('/', $string);

echo $array[1]; //outputs oranges

答案 2 :(得分:3)

PHP>中展示数组解除引用5.4

echo explode('/', 'apple/oranges/bananas')[1];

答案 3 :(得分:0)

如果

$path = 'apples/oranges/bananas';
你可以这样做:

$dir = basename(dirname($path));

如果你想从字符串的末尾开始,并且应该在Windows上运行,或者

$dir = preg_match('|/([^/]*)|', $path, $m) ? $m[1] : false;

如果你想从字符串的开头开始,并且不能在Windows上运行。

答案 4 :(得分:0)

总是用2个斜杠分隔3个单词吗? 如果是的话,你可以尝试:

$mypath = explode('/', 'apple/oranges/bananas');
echo $mypath[1]; //gives oranges