Как обрезать элементы массива до и после символов?

137
22 января 2021, 04:40

Есть массив $links, он заполнен такими ссылками:

Array
(
    [0] => https://www.domen.com/images/750*200/50235.jpg)
    [1] => https://www.domen.com/images/750*200/3745.jpg)
    [2] => https://www.domen.com/images/750*200/945.jpg)
)

Нужно заполнить другой массив элементами, где будут храниться названия файлов из этих ссылок, т.е. 50335, 3745, 945 (без .jpg в конце и всего, что до)

Пробовал через preg_match, но выходит не совсем то, что нужно

Answer 1

Регулярные выражения для этого вообще не нужны:

$result = array_map(
    function($v) { return pathinfo($v, PATHINFO_FILENAME); },
    $links
);
Answer 2
$arr = ['https://www.domen.com/images/750*200/50235.jpg',
    'https://www.domen.com/images/750*200/3745.jpg',
    'https://www.domen.com/images/750*200/945.jpg'];
foreach ($arr as &$elem) {
    $elem = explode('/', $elem);
    $elem = str_replace('.jpg','',$elem[count($elem)-1]);
}
var_dump($arr);
READ ALSO
Защита роутов через middleware или что-то другое

Защита роутов через middleware или что-то другое

Имею следующую схему данных

118
Обсчитать данные времени, php

Обсчитать данные времени, php

Всем доброго времени сутокВозник вопрос, как мне от текущего времени отнять время из бд? У меня есть табличка с типом Time, там пока около 20 записей,...

72
Отправить файл с помощью cURL

Отправить файл с помощью cURL

Скопировал код из мануала

110
Инъекции в куки

Инъекции в куки

Пишу свой велосипед, который будет из себя представлять менеджер паролей для входа на сайты (да, знаю, что в браузерах есть куча готовых решений,...

89