Strizza l'ultima parte su un URL [duplicato
-
27-10-2019 - |
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
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);