Page 1 of 1

delete everything after last /

Posted: Sat Mar 22, 2003 9:35 pm
by phice
I'm looking for some function that will delete everything after the last backslash (/), including the backslash.

In example;
before: /home/to/folder
after: /home/to

Posted: Sat Mar 22, 2003 9:49 pm
by hob_goblin

Code: Select all

function delete_backslash($str){
$array = explode("/", $str);
$key = count($array) - 1;
unset($arrayї$key]);
$str = implode("/", $array);
return $str;
}

Posted: Sun Mar 23, 2003 2:05 am
by volka
or simply

Code: Select all

<?php
$before = '/home/to/folder';
$after = substr($before, $after, strrpos($before, '/'));
echo $after;
?>
or if it might be that there is no / in the string

Code: Select all

<?php
$before = 'hometofolder';
if($pos=strrpos($before, '/'))
	$after = substr($before, $after, pos);
echo $after;
?>

Posted: Mon Mar 24, 2003 7:30 am
by superwormy
or:

$before = "/home/Administrator/file";

$temp = strrev ($before);
$temp = strstr ($temp, "/");
$temp = substr ($temp, 1);

$after = strrev ($temp);

Posted: Mon Mar 24, 2003 11:05 am
by mchaggis
A much simpler method is:

Code: Select all

$after = dirname($before);

Posted: Mon Mar 24, 2003 11:17 am
by volka
way too easy ;)