Как удалить значения между слэш “/”

227
24 января 2019, 07:50

Есть строки:

/download/doc/bd2/bd217ce34263e9bf8679562067758196.xls|/download/doc/17f/17fc9e435a3d3a1d1e6f12c13fe1262f.xls|/download/doc/42b/42be09853a529555d6f2316f1f29b593.xls

Нужно чтобы получилось:

bd217ce34263e9bf8679562067758196.xls|17fc9e435a3d3a1d1e6f12c13fe1262f.xls|42be09853a529555d6f2316f1f29b593.xls

Функцией str_replace не получается, т.к. после 3 слэша параметры все время меняются.

Пробовала функцию strrchr

$param = "/download/doc/bd2/bd217ce34263e9bf8679562067758196.xls|/download/doc/17f/17fc9e435a3d3a1d1e6f12c13fe1262f.xls|/download/doc/42b/42be09853a529555d6f2316f1f29b593.xls
";
$string = substr(strrchr($param, "/"), 1);
echo $string;

Но она возвращает только 42be09853a529555d6f2316f1f29b593.xls

Answer 1

Например,так

$result = preg_replace('~/[\w/]*/~', "", $str); 

либо так

$result = [];
foreach(explode('|', $str) as $file){
    $result[] = basename($file);
}
$str = implode("|", $result);

что можно записать как

$str = implode("|", array_map('basename', explode("|", $str)));
READ ALSO
Взять содержимое с страницы json

Взять содержимое с страницы json

Подскажите пожалуйста, есть такой массив данных:

203
Метод whereValid в Laravel 5.7

Метод whereValid в Laravel 5.7

Изучаю LaravelНаткнулся на метод whereValid, который используется в этом коде:

271