Maison >développement back-end >tutoriel php >Comment extraire les identifiants de vidéos YouTube des URL à l'aide de PHP ?

Comment extraire les identifiants de vidéos YouTube des URL à l'aide de PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-31 08:20:38484parcourir

How to Extract YouTube Video IDs from URLs Using PHP?

Comment extraire l'identifiant vidéo YouTube à l'aide de PHP

Introduction

Extraire les identifiants vidéo YouTube de Les URL sont cruciales pour de nombreuses applications. Cela permet aux développeurs d'identifier et de traiter les vidéos en fonction de leurs identifiants uniques. Bien que l'API YouTube ne fournisse pas de fonction directe pour cela, il existe d'autres méthodes disponibles.

Approche basée sur Regex

Une solution courante consiste à utiliser une expression régulière pour extrayez l'ID de la vidéo de l'URL. La fonction suivante fournit une implémentation en PHP :

<code class="php">function youtube_id_from_url($url) {
    $pattern = '%^
        (?:https?://)?  # Optional scheme. Either http or https
        (?:www\.)?      # Optional www subdomain
        (?:             # Group host alternatives
          youtu\.be/    # Either youtu.be,
        | youtube\.com  # or youtube.com
          (?:           # Group path alternatives
            /embed/     # Either /embed/
          | /v/         # or /v/
          | /watch\?v=  # or /watch\?v=
          )             # End path alternatives.
        )               # End host alternatives.
        ([\w-]{10,12})  # Allow 10-12 for 11 char youtube id.
        $%x';
    $result = preg_match($pattern, $url, $matches);
    if ($result) {
        return $matches[1];
    }
    return false;
}</code>

Exemple d'utilisation

Pour utiliser la fonction, transmettez simplement l'URL YouTube en paramètre :

<code class="php">$video_id = youtube_id_from_url('http://youtu.be/NLqAF9hrVbY');
echo $video_id; // NLqAF9hrVbY</code>

Service YouTube oEmbed

Bien qu'il ne s'agisse pas directement d'une fonction API, YouTube propose un service oEmbed. En effectuant une requête vers une URL spécifique avec l'URL de la vidéo comme paramètre, vous pouvez récupérer des informations supplémentaires sur la vidéo, notamment son identifiant. Cette méthode peut fournir plus de contexte et permettre la validation d'URL.

<code class="php">$url = 'http://youtu.be/NLqAF9hrVbY';
$oembed_url = sprintf('http://www.youtube.com/oembed?url=%s&amp;format=json', urlencode($url));
$oembed_response = json_decode(file_get_contents($oembed_url));
if ($oembed_response) {
    $video_id = $oembed_response->video_id;
}</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn