Снимите последнюю часть с URL
Возможный дубликат:
извлечь последнюю часть URL
У меня есть такой URL:
http://www.domain.co.uk/product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset
Я хочу извлечь название продукта от конца "Coleman-Family-Cookset"
Когда я использую parse_url и print_r, я получаю следующее:
Array (
[scheme] => http
[host] => www.domain.co.uk
[path] => /product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset
)
Как мне потом обрезать "Coleman-Family-Cookset" с конца?
заранее спасибо
4 ответа
Решение
$url = 'http://www.domain.co.uk/product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset';
$url = explode('/', $url);
$last = array_pop($url);
echo $last;
Все ответы выше работают, но все используют ненужные массивы и регулярные выражения, вам нужна позиция последнего /
с которым вы можете получить strrpos()
и чем вы можете извлечь строку с substr()
:
substr( $url, 0, strrpos( $url, '/'));
Возможно, вам придется добавить +/- 1
после strrpos()
Это гораздо более эффективное решение, чем использование preg_*
или же explode
, все работают, хотя.
У вас есть переменная пути (из массива, как показано выше). Используйте следующее:
$tobestripped=$<the array name>['path']; //<<-the entire path that is
$exploded=explode("/", $tobestripped);
$lastpart=array_pop($exploded);
Надеюсь это поможет.
$url = rtrim($url, '/');
preg_match('/([^\/]*)$/', $url, $match);
var_dump($match);