Extraction des identifiants vidéo des URL YouTube
Dans les scénarios où les utilisateurs fournissent des URL de vidéo YouTube, il devient nécessaire d'extraire l'identifiant vidéo pour diverses fonctionnalités . Bien que l'API YouTube n'offre pas de fonction dédiée à cet effet, des approches alternatives sont disponibles.
Une méthode consiste à utiliser une expression régulière pour analyser l'URL et isoler l'ID de la vidéo. Voici un exemple de fonction PHP utilisant cette approche :
<code class="php">/** * get youtube video ID from URL * * @param string $url * @return string Youtube video id or FALSE if none found. */ 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>
Une autre option consiste à exploiter le service oEmbed de YouTube. Bien qu'il ne fournisse pas directement l'identifiant de la vidéo, il propose des métadonnées supplémentaires sur l'URL. Voici un exemple utilisant JSON :
<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>
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!