删除字符串的前3个字符


Remove 3 first characters of the string

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

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

输出如下:

  • /盖莱斯
  • /dddd
  • /图像

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

谢谢。

您可能会得到各种古怪的字符串操作答案,因此这里有合适的工具:

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

这正是你正在做的:

basename($nav)

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

当然,你可以使用str_replace,但我同意AbraCadaver的答案。。。

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

您可以从开头减去3个字符,如下所示:

echo substr($string, 3);