Récupérer la dernière partie d'une URL avec PHP

Publié le 25/03/2022 • Mis à jour le 25/03/2022


English language detected! 🇬🇧

  We noticed that your browser is using English. Do you want to read this post in this language?

Read the english version 🇬🇧 Close

Dans ce bout de code, nous voyons comment récupérer la dernière partie d'une URL avec PHP. C'est un peu une relique du passé ! En effet, la fonction basename() retourne typiquement le "script" (fichier) qui affiche une page. Ce n'est plus vrai puisque les contrôleurs frontaux des sites web sont en général cachés et des URL SEO sont générées. Mais, elle est très pratique, car il est souvent utile de récupérer cette dernière partie comme un ID, un UUID ou même un slug, comme dans cet exemple.


<?php

declare(strict_types=1);

namespace App\Controller\Snippet;

/**
 * J'utilise un trait PHP afin d'isoler chaque snippet dans un fichier.
 * Ce code doit être apellé d'un contrôleur Symfony étendant AbstractController (depuis Symfony 4.2)
 * ou Symfony\Bundle\FrameworkBundle\Controller\Controller (Symfony <= 4.1).
 * Les services sont injectés dans le constructeur du contrôleur principal.
 */
trait Snippet195Trait
{
    public function snippet195(): void
    {
        $snippetUrl = 'https://www.strangebuzz.com/en/snippets/getting-the-last-part-of-an-url-with-php';
        echo 'URL: '.$snippetUrl.PHP_EOL;
        echo 'basename: '.basename($snippetUrl);

        // That's it! 😁
    }
}

 Exécuter le snippet  Plus sur Stackoverflow   Lire la doc  Plus sur le web  Snippet aléatoire