Quite la última parte de una URL [Duplicado
-
27-10-2019 - |
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
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);