Bande de la dernière partie de l'URL [double]
-
27-10-2019 - |
Question
Possible en double: extrait dernière partie d'une url
J'ai une URL comme ceci:
http://www.domain.co.uk/product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset
Je veux extrait juste le nom du produit de la fin « Coleman-famille-Gamelle »
Quand j'utilise parse_url et print_r je finis avec ce qui suit:
Array (
[scheme] => http
[host] => www.domain.co.uk
[path] => /product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset
)
Comment puis couper "Coleman-famille-Gamelle" de la fin?
Merci à l'avance
La solution
$url = 'http://www.domain.co.uk/product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset';
$url = explode('/', $url);
$last = array_pop($url);
echo $last;
Autres conseils
Toutes les réponses ci-dessus fonctionne, mais tous utiliser des tableaux inutiles et des expressions régulières, vous avez besoin d'une position de dernier /
que vous pouvez obtenir avec strrpos()
et que vous pouvez extraire la chaîne avec substr()
:
substr( $url, 0, strrpos( $url, '/'));
Vous devrez peut-être ajouter +/- 1
après strrpos()
Ceci est solution beaucoup plus efficace que l'utilisation preg_*
ou explode
, tous les travaux bien.
Vous avez la variable de chemin (à partir du tableau comme indiqué ci-dessus). Utilisez les éléments suivants:
$tobestripped=$<the array name>['path']; //<<-the entire path that is
$exploded=explode("/", $tobestripped);
$lastpart=array_pop($exploded);
Hope this helps.
$url = rtrim($url, '/');
preg_match('/([^\/]*)$/', $url, $match);
var_dump($match);