Есть ссылка: http://site.ru/test/folder/photo/ph-1.png
Каким образом получить из этой ссылки только: test/folder/photo
То есть, мне нужно то что идет после // и до последнего /
Можно вручную вырезать то, что нужно.
$str = 'http://site.ru/test/folder/photo/ph-1.png';
$parts = explode('/', $str);
$path = implode('/', array_slice($parts, 3, -1));
echo $path; // test/folder/photo
echo implode('/', array_slice($parts, 2, -1)); // site.ru/test/folder/photo
Демонстрация
Можете использовать parse_url
$url = 'http://site.ru/test/folder/photo/ph-1.png';
$data = parse_url($url);
print_r($data );
получится на выходе
Array ( [scheme] => http [host] => site.ru [path] => /test/folder/photo/ph-1.png )
Обновлено
$clearArray = explode('/',$data['path']);
array_pop($clearArray);
$implodeData = implode('/',$clearArray);
print_r($implodeData);
Дополню ответ @Arsen
После парсинга url
$url = 'http://site.ru/test/folder/photo/ph-1.png';
$data = parse_url($url);
можно написать так:
$str = data['path'];
echo trim(substr($str, 0, strrpos($str, '/')), "/");
что там написано:
strrpos - возвращает позицию последнего вхождения подстроки в строке
substr - возвращает подстроку строки string, начинающейся с start символа по счету и длиной length символов
trim - удаляет пробелы (или другие символы) из начала и конца строки. Вторым параметром можно передать набор символов, которые можно обрезать.
$str='http://site.ru/test/folder/photo/ph-1.png';
preg_match_all('|.*//(.*)/.*|i',$str,$res);
print_r($res);
Array ( [0] => Array ( [0] => http://site.ru/test/folder/photo/ph-1.png ) [1] => Array ( [0] => site.ru/test/folder/photo ) )
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Можно ли хранить ключ в открытом виде в виде переменной при выполнении программы? То есть, есть зашифрованные AES при помощи ключа юзера данныеПользователь...
Я создал программку на с++ в visual studio, скинул всю программку на другую машину в которой отсутствует visual studio, и при запуске exe файлавыдало что...