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&format=json', urlencode($url)))));</code>
Considérations supplémentaires
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!