Пытаюсь получить файловый путь в php7:
$keywords = preg_split("/[\\,]+/", dirname($filename));
Как получить последний элемент если строка:
upload/iblock/faa/file.jpg
Для получения последней секции строк пути с помощью регулярных выражений вы можете использовать, например, следующий вариант: ([\w\s]+)\/?$. Последний слэш опциональный. В \w\s попадают символы A-Za-z0-9_ и пробел. Можно дополнить, добавив туда, например, А-Яа-я-, и т.п.
preg_match("/([\w\s]+)\/?$/", "/upload/iblock/faa/", $matches);
print_r($matches);
В первой группе будет искомая строка:
Array (
[0] => faa/
[1] => faa
)
В целом, зная о функции dirname(), которую вы используете в своем коде, вы, наверное, также знаете и о функции basename(), возвращающей как раз последний элемент пути, а так же pathinfo(), SplFileInfo::getFilename. Для получения пути можно даже разбить его с помощью explode() и достать последний элемент, используя array_pop. Поэтому если ваша задача - работать с путями, а не тренировать регулярные выражения, то используете соответствующие функции.
Продвижение своими сайтами как стратегия роста и независимости