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&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!