У меня есть следующий URL.http://domain.com/userfiles/dynamic/images/whatever_dollar_1318105152.png Все в URL может измениться, кроме части пользовательских файлов и последнего подчеркивания.В основном я хочу получить часть URL, которая является userfiles/dynamic/images/whatever_dollar_ Что является хорошим способом сделать это.Я открыт или оба JavaScript или PHP.
http://domain.com/userfiles/dynamic/images/whatever_dollar_1318105152.png
userfiles/dynamic/images/whatever_dollar_
Используйте parse_url в PHP, чтобы разделить URL-адрес на различные части. Получите возвращенную часть path. Он содержит путь без домена и строку запроса.
path
После этого используйте strrpos , чтобы найти последнее вхождение _ в пути.
_
С помощью substr вы можете скопировать первую часть пути (вплоть до найденного _), и все готово.
Вы можете, используя JavaScript, попробовать:
var string = "http://domain.com/userfiles/dynamic/images/whatever_dollar_1318105152.png"; var newString = string.substring(string.indexOf('userfiles'),string.lastIndexOf('_')); alert(newString); // returns: "userfiles/dynamic/images/whatever_dollar" (Without quotes).
Демонстрация JS Fiddle .
Ссылки:
substring()
indexOf()
lastIndexOf()
Если ваша строка хранится в $ s, просто:
echo preg_replace('/.*(userfiles.*_).*/', '$1', $s);