我只想在第三个斜杠之前删除所有字符。
示例:
C:/wamp/www/project/modules/File
becomes:
project/modules/File
我会感激帮助。谢谢。
答案 0 :(得分:1)
尝试以下代码,希望这对您有帮助。
$str = "C:/wamp/www/project/modules/File";
$positions = mb_stripos_all($str,"/");
echo substr($str,$positions[2]+1);
function mb_stripos_all($haystack, $needle) {
$s = 0;
$i = 0;
while(is_integer($i)) {
$i = strpos($haystack, $needle, $s);
if(is_integer($i)) {
$aStrPos[] = $i;
$s = $i + strlen($needle);
}
}
if(isset($aStrPos)) {
return $aStrPos;
} else {
return false;
}
}
答案 1 :(得分:1)
我想到的一个优雅的解决方案是:
$text = "C:/wamp/www/project/modules/File";
$arr = explode("/", $text);
//shifting array three times, increase if necessary
array_shift($arr);array_shift($arr);array_shift($arr);
//implode and return
return implode("/", $arr);
简单明了。
答案 2 :(得分:0)
<?
$str = 'C:/wamp/www/project/modules/File';
if (preg_match('%.*?/.*?/.*?/(.*)%', $str, $regs)) {
$str = $regs[1];
}
echo $str;
?>
Result: project/modules/File
答案 3 :(得分:0)
$text="C:/wamp/www/project/modules/File";
$pieces = explode("/", $text);
$i=0;
foreach ($pieces as $valor) {
$i++;
if($i>3)
echo $valor.'/';
}
返回
project/modules/File/
答案 4 :(得分:0)
$text="C:/wamp/www/project/modules/File";
$pieces = explode("/", $text);
$len=sizeof($pieces);
for($i=3;$i<$len; $i++)
{
$path.=$pieces[$i]."/";
}
$path1 = substr($path, 0, -1);
echo $path1;
I think this will print how long contents after file..
try it...