I have array:
$array = array(
"C:/path/something1/something2/dir",
"C:/path1/something/something2/dir2
extdir",
"C:/path2/something/dir2
extdir
ext",
"C:/path/something3/something6/something7/dir5
extdir2
ext"
);
All that is before the last sign "/" with him to disappear.
I want something like that:
$array = array(
"dir",
"dir2
extdir",
"dir2
extdir
ext",
"dir5
extdir2
ext"
);
I need regex
$new_array = preg_grep("/regex/", $array);
I have no idea how to write a regex.
I dont want like that:
foreach($array as $key => $val) {
$e = explode("/", $val);
$new_array[] = end($e);
}
preg_grep()
does not change/replace the values, it returns the items that match the given regular expression. If you must use regex and replace the values, take a look at preg_replace()
instead:
$array = preg_replace('~.*/~', '', $array);
var_dump($array);
Output
array(4) {
[0]=> string(3) "dir"
[1]=> string(12) "dir2
extdir"
[2]=> string(17) "dir2
extdir
ext"
[3]=> string(18) "dir5
extdir2
ext"
}