Maison >développement back-end >tutoriel php >Comment extraire de manière fiable les identifiants de vidéos YouTube à l'aide d'expressions régulières ?

Comment extraire de manière fiable les identifiants de vidéos YouTube à l'aide d'expressions régulières ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-03 17:50:15910parcourir

How to Reliably Extract YouTube Video IDs Using Regular Expressions?

Analyser l'ID de vidéo YouTube à l'aide de preg_match

En tentant de dériver l'ID de vidéo à partir d'une URL YouTube à l'aide de preg_match, un problème survient lorsque le modèle fourni conduit à une erreur «Modificateur inconnu '['». Pour résoudre ce problème, une expression régulière alternative est proposée qui capture efficacement les identifiants vidéo dans différents formats d'URL.

L'expression régulière améliorée est la suivante :

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

Ce modèle correspond avec succès à l'URL suivante. formats :

  • URL complète : http://www.youtube.com/watch?v=dQw4w9WgXcQ
  • URL d'intégration : http://www.youtube.com/embed/dQw4w9WgXcQ
  • URL courte : http://youtu.be/dQw4w9WgXcQ
  • URL de recherche : http://www.youtube.com/?v=dQw4w9WgXcQ
  • URL de l'utilisateur : http://www.youtube.com/user/username#p/u/11/dQw4w9WgXcQ
  • URL de la chaîne : http://www.youtube.com/sandalsResorts#p/c/54B8C800269D7C1B/0/dQw4w9WgXcQ
  • URL intégrée (iframe) : http://www.youtube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ
  • URL intégrée (objet) : http://www.youtube.com/?feature=player_embedded&v= dQw4w9WgXcQ

En utilisant cette regex, la vidéo L'identifiant peut être extrait de manière fiable à partir de diverses URL YouTube.

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