2014-01-17 3 views
0

Я просто хочу удалить все символы перед третьей косой чертой.Удалить символы перед третьей косой чертой

Пример:

C:/wamp/www/project/modules/File 

becomes: 

project/modules/File 

Я ценю помощь. Благодарю.

+3

Нам все равно, чего вы хотите. Расскажите, что вы пробовали, а затем сформулируете вопрос, на который мы можем ответить. –

+0

Is C:/wamp/www/остается таким же для всех таких строк? –

+0

Сверри М. Олсен, вы можете знать, что я прошу, читая мой пост. Так вы получаете дополнительный реп? – kimbarcelona

ответ

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); 

Обычный и простой.

0
<? 
$str = 'C:/wamp/www/project/modules/File'; 
if (preg_match('%.*?/.*?/.*?/(.*)%', $str, $regs)) { 
    $str = $regs[1]; 
} 
echo $str; 
?> 

Result: project/modules/File 
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; 
    } 
} 
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/

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... 
Смежные вопросы