Вопрос

Возможный дубликат:
Извлекать последнюю часть URL

У меня есть URL, как это:

http://www.domain.co.uk/product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset

Я хочу извлечь только название продукта с конца «Коулман-семья-кукс»

Когда я использую parse_url и print_r, я получаю следующее:

Array (
    [scheme] => http
    [host] => www.domain.co.uk
    [path] => /product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset
) 

Как затем подстричь "Коулман-семьям-куксет" с конца?

заранее спасибо

Это было полезно?

Решение

$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);

Тест

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top