把$abc="c\:\\programe files\\syslogd\\log\\vantage.log";中的双引号改成单引号试试看呢
在双引号中,第一个\始终都会被当成转义字符来用的

解决方案 »

  1.   

    $kkk=explode("\\",$abc,5);
    $def=$kkk[0]."\\".$kkk[1]."\\".$kkk[2]."\\".$kkk[3]."\\".$kkk[4];
    $ppp=explode("\:",$def,2);
    $hij=$ppp[0].":".$ppp[1];
      

  2.   

    <?php
    $abc = "c\:\\programe files\\syslogd\\log\\vantage.log";
    $abc = str_replace(chr(92),'/',$abc);  //$abc = "c/:/programe files/syslogd/log/vantage.log";
    $abc = str_replace("/:",":",$abc); //$abc = "c:/programe files/syslogd/log/vantage.log";
    $abc = str_replace("/",chr(92),$abc); //$abc = "c:\programe files\syslogd\log\vantage.log";
    echo $abc;
    ?>
      

  3.   

    \\在引号里就是\,不需要转换了,只需要把\:换成:就可以了
    $abc="c\:\\programe files\\syslogd\\log\\vantage.log";
    print str_replace("\\:", ":", $abc);