Pregunta

Posible duplicado:
Extraer la última parte de una URL

Tengo una URL como esta:

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

Quiero extraer el nombre del producto del final "Coleman-Family-Cookset"

Cuando uso parse_url e imprimo, termino con lo siguiente:

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

¿Cómo recorto el "Coleman-Family-Cookset" del final?

Gracias por adelantado

¿Fue útil?

Solución

$url = 'http://www.domain.co.uk/product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset';
$url = explode('/', $url);
$last = array_pop($url);
echo $last;

Otros consejos

Todas las respuestas anteriores funcionan, pero todas usan matrices innecesarias y expresiones regulares, necesita una posición de la última. / que puedes conseguir con strrpos() y de lo que puedes extraer cadena con substr():

substr( $url, 0, strrpos( $url, '/'));

Tal vez tendrás que agregar +/- 1 después strrpos()

Esta es una solución mucho más efectiva que usar preg_* o explode, aunque todo funcionan.

Tiene la variable de ruta (de la matriz como se muestra arriba). Use lo siguiente:

$tobestripped=$<the array name>['path']; //<<-the entire path that is
$exploded=explode("/", $tobestripped);
$lastpart=array_pop($exploded);

Espero que esto ayude.

$url = rtrim($url, '/');
preg_match('/([^\/]*)$/', $url, $match);
var_dump($match);

Prueba

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top