删除字符串的3个第一个字符

时间:2016-04-29 19:11:06

标签: php split

我有这段代码,显示上一页中的所有目录。

$dirs = array_filter(glob('../*'), 'is_dir');

foreach ($dirs as $nav) {
    echo "<li><a href='$nav'>".$nav."</a></li>";
}

输出如下:

  • ../Gėlės
  • ../ DDDD
  • ../图像

是否有可用于从输出字符串中删除../前缀的函数或方法?

谢谢。

3 个答案:

答案 0 :(得分:6)

你可能会得到各种古怪的字符串操作答案,所以这是正确的工具:

  

basename - 返回路径的尾随名称组件

这正是你在做什么:

basename($nav)

另外,如果您只想要目录,请使用GLOB_ONLYDIR标志作为glob()调用中的第二个参数。

答案 1 :(得分:1)

当然,您可以使用str_replace,但我会选择AbraCadaver's回答......

$dirs = array_filter(glob('../*'), 'is_dir');
foreach ($dirs as $nav) {
    $nav = str_replace("../", "", $nav);
    echo "<li><a href='$nav'>$nav</a></li>";
}

答案 2 :(得分:1)

你可以从头开始减去3个字符:

echo substr($string, 3);