Maison  >  Article  >  développement back-end  >  Comment extraire un identifiant vidéo d'une URL YouTube ?

Comment extraire un identifiant vidéo d'une URL YouTube ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-31 23:04:28204parcourir

How to Extract a Video ID from a YouTube URL?

API YouTube : Extraire l'identifiant vidéo d'une URL

Introduction

Lorsque vous travaillez avec des vidéos Youtube dans les applications Web, il devient nécessaire d'extraire l'identifiant de la vidéo de l'URL pour accéder à ses métadonnées et l'intégrer. L'API Youtube ne fournit pas de fonction directe pour cette tâche, des méthodes alternatives doivent donc être utilisées.

Utilisation d'expressions régulières

Une approche consiste à utiliser des expressions régulières pour analyser le URL et identifiez l'ID de la vidéo. Voici une fonction écrite en PHP :

<code class="php">function youtube_id_from_url($url) {
    $pattern = '%^# Match any youtube URL
        (?: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>

Service YouTube OEMBED

Une autre option consiste à utiliser le service OEMBED de Youtube, qui fournit des informations supplémentaires sur la vidéo, y compris son IDENTIFIANT. Voici comment l'utiliser :

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

Considérations supplémentaires

  • L'exemple d'expression régulière prend en charge les URL des vidéos, des playlists et des chaînes.
  • Il gère différents formats d'URL, y compris ceux avec des paramètres de requête.
  • L'utilisation d'OEMBED est une alternative valide, mais l'ID doit être extrait de la réponse JSON renvoyée.
  • D'autres langages de codage le seront ont leurs propres approches pour analyser les URL et extraire les identifiants vidéo.

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