Domanda

Possibile duplicato:
estrarre l'ultima parte di un URL

Ho un URL come questo:

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

Voglio estrarre solo il nome del prodotto al di fuori della fine "Coleman-Family-Cookset"

Quando uso parse_url e print_r finisco con quanto segue:

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

Come posso quindi tagliare "Coleman-Family-Cookset"?

Grazie in anticipo

È stato utile?

Soluzione

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

Altri suggerimenti

Tutte le risposte sopra funzionano, ma tutte usano array inutili ed espressioni regolari, hai bisogno di una posizione di ultima / con cui puoi ottenere strrpos() E di quello che puoi estrarre stringa con substr():

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

Forse dovrai aggiungere +/- 1 dopo strrpos()

Questa è una soluzione molto più efficace rispetto all'utilizzo preg_* o explode, tutto funziona però.

Hai la variabile del percorso (dall'array come mostrato sopra). Utilizza il seguente:

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

Spero che sia di aiuto.

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

Test

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top