Я просто хочу удалить все символы перед третьей косой чертой.Удалить символы перед третьей косой чертой
Пример:
C:/wamp/www/project/modules/File
becomes:
project/modules/File
Я ценю помощь. Благодарю.
Я просто хочу удалить все символы перед третьей косой чертой.Удалить символы перед третьей косой чертой
Пример:
C:/wamp/www/project/modules/File
becomes:
project/modules/File
Я ценю помощь. Благодарю.
Одно элегантное решение приходит на ум:
$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);
Обычный и простой.
<?
$str = 'C:/wamp/www/project/modules/File';
if (preg_match('%.*?/.*?/.*?/(.*)%', $str, $regs)) {
$str = $regs[1];
}
echo $str;
?>
Result: project/modules/File
Попробуйте следующий код, я надеюсь, что это вам поможет.
$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;
}
}
$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/
$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...
Нам все равно, чего вы хотите. Расскажите, что вы пробовали, а затем сформулируете вопрос, на который мы можем ответить. –
Is C:/wamp/www/остается таким же для всех таких строк? –
Сверри М. Олсен, вы можете знать, что я прошу, читая мой пост. Так вы получаете дополнительный реп? – kimbarcelona