Php 删除字符串的前3个字符

Php 删除字符串的前3个字符,php,split,Php,Split,我有这段代码,它显示了上一页中的所有目录 $dirs = array_filter(glob('../*'), 'is_dir'); foreach ($dirs as $nav) { echo "<li><a href='$nav'>".$nav."</a></li>"; } $dirs=array_filter(glob(“../*”),“is_dir”); 外汇($dirs作为$nav){ 回声“”; } 输出如下: echo

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

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

foreach ($dirs as $nav) {
    echo "<li><a href='$nav'>".$nav."</a></li>";
}
$dirs=array_filter(glob(“../*”),“is_dir”);
外汇($dirs作为$nav){
回声“
  • ”; }
    输出如下:

    echo substr($string, 3);
    
    • ../Gėlės
    • ../dddd
    • ../图像
    是否有一种函数或方法可用于从输出字符串中删除前缀
    。/

    谢谢。

    当然,你可以用,但我会选择答案

    $dirs = array_filter(glob('../*'), 'is_dir');
    foreach ($dirs as $nav) {
        $nav = str_replace("../", "", $nav);
        echo "<li><a href='$nav'>$nav</a></li>";
    }
    
    $dirs=array_filter(glob(“../*”),“is_dir”);
    外汇($dirs作为$nav){
    $nav=str_替换(“../”、“,$nav”);
    回声“
  • ”; }
    您可能会得到各种古怪的字符串操作答案,因此下面是合适的工具:

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

    这正是你正在做的:

    basename($nav)
    

    另外,如果您只需要目录,请在
    GLOB()
    调用中使用
    GLOB\u ONLYDIR
    标志作为第二个参数。

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

    echo substr($string, 3);
    

    我就知道!哈哈!他们来了!AbraCadavere被投票通过了,我还有5分钟的时间等着我接受它。谢谢大家的帮助:)我可以问一下为什么basename是正确的答案,而不是substr吗。basename—返回路径的尾随名称组件,该组件正是您正在执行的操作。2.如果下次您需要删除
    路径/tmp/
    ,而不是
    。/
    ,或者您不知道该路径将是什么
    basename()
    仍然没有修改。谢谢,非常好的帮助:)根据php手册应该是
    basename($nav)。php\u EOL
    ,尽管回答不错@PedroLobito:不,只有当你想要一个行尾,它不会显示在呈现的HTML中,但是会使HTML源代码读起来很奇怪。