在最后一次出现特定字符之前获取字符串

时间:2013-04-22 08:55:51

标签: php

是否有简单的内置PHP函数来删除最后一次出现'/'字符后的所有字符串。 例如我有字符串:

'js/jstree/_lib/jquery.js'

我想要结果:

'js/jstree/_lib'

这里的斜线数是动态的。

5 个答案:

答案 0 :(得分:8)

将strrpos与substr一起使用以获取第一个字符的子字符串,直到'/'字符的最后一次出现

$original = 'js/jstree/_lib/jquery.js';
$short = substr($original, 0, strrpos($original, '/'));

http://www.php.net/manual/en/function.strrpos.php

答案 1 :(得分:5)

echo dirname('js/jstree/_lib/jquery.js');

答案 2 :(得分:1)

如果它是您正在处理的特定路径信息,请使用pathinfo函数:

$result = pathinfo($input, PATHINFO_DIRNAME);

答案 3 :(得分:0)

使用以下代码:

$str = 'js/jstree/_lib/jquery.js'
print_r(explode('/', $str, -1));

答案 4 :(得分:0)

$string = 'js/jstree/_lib/jquery.js';
$x = explode('/', $string, -1);
foreach($x as $y){
    $str1 .= '/'.$y;
}
echo $str1;