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

Était-ce utile?

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);

test

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top