我有这段代码,它显示了上一页中的所有目录。
$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);