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

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

Barbara Streisand
Barbara Streisandoriginal
2024-12-08 02:50:11433parcourir

How to Extract YouTube Video IDs from Various URLs Using PHP Regex?

Analyser les identifiants de vidéos YouTube avec PHP Regex

Pour analyser l'identifiant de vidéo à partir d'une URL YouTube à l'aide de preg_match de PHP, utilisez la méthode régulière améliorée suivante expression :

if (preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/\s]{11})%i', $url, $match)) {
    $video_id = $match[1];
}

Avantages :

  • Compatibilité universelle : Cette expression régulière capture les identifiants vidéo de divers formats d'URL YouTube, y compris youtu .be, watch?v= et codes d'intégration.
  • Exception Gestion : Il ignore les caractères supplémentaires présents après l'ID de la vidéo dans l'URL, garantissant ainsi une extraction fiable.
  • Prise en charge des URL alternatives : L'expression régulière gère également les URL YouTube hébergées sur youtube-nocookie.com.

Utilisation :

$subject = "http://www.youtube.com/watch?v=z_AbfPXTKms&NR=1";
preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/\s]{11})%i', $subject, $matches);

print "<pre class="brush:php;toolbar:false">";
print_r($matches);
print "
";

Échantillon d'entrée/sortie :

Input URL Output
http://youtu.be/dQw4w9WgXcQ z_AbfPXTKms
http://www.youtube.com/e/dQw4w9WgXcQ z_AbfPXTKms
http://www.youtube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ z_AbfPXTKms
http://www.youtube-nocookie.com/watch?v=dQw4w9WgXcQ z_AbfPXTKms

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