我有一个字符串,可以用多种不同的方式写入,它将始终遵循相同的模式,但其长度可能不同。在PHP中剪切字符串,在第n个字符中出现的字符
this/is/the/path/to/my/fileA.php
this/could/also/be/the/path/to/my/fileB.php
another/example/of/a/long/address/which/is/a/path/to/my/fileC.php
我所试图做的是切断绳子,让我留下
path/to/my/file.php
我有一些代码which I got from this page并修改以下
$max = strlen($full_path);
$n = 0;
for($j=0;$j<$max;$j++){
if($full_path[$j]=='/'){
$n++;
if($n>=3){
break 1;
}
}
}
$path = substr($full_path,$j+1,$max);
这基本上在'/'字符的第三个实例中将其切断,并给我留下的内容。当我在一个环境中工作时,这很好,但是当我将它迁移到另一台服务器时,路径会更长,所以剪切会给我一个太长的地址。我认为,不是每个实例都改变硬编码的整数值,如果我在最后一次删除第4个字符串时会更好,因为我总是希望保留最后4个斜杠的信息
非常感谢
编辑 - 最终代码解决方案
$exploded_name = explode('/', $full_path);
$exploded_trimmed = array_slice($exploded_name, -4);
$imploded_name = implode('/', $exploded_trimmed);
谢谢你,这就是做的好得多方式的功能,我已经编辑我的问题的确切答案 – 2013-04-26 11:22:16