Maison >développement back-end >tutoriel php >Comment extraire de manière fiable les identifiants de vidéos YouTube à l'aide de « preg_match » ?

Comment extraire de manière fiable les identifiants de vidéos YouTube à l'aide de « preg_match » ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-02 07:24:10339parcourir

How to Reliably Extract YouTube Video IDs Using `preg_match`?

Analyser l'identifiant de la vidéo YouTube à l'aide de preg_match

Pour tenter d'extraire l'identifiant de la vidéo d'une URL YouTube à l'aide de preg_match, une approche courante mais infructueuse utilise une expression régulière spécifique. Cependant, cette expression entraîne souvent l'erreur « Modificateur inconnu '[' ».

Solution améliorée

Pour surmonter cette erreur, une expression régulière améliorée avec une meilleure polyvalence apparaît comme une alternative supérieure :

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

Clé Fonctionnalités

  1. Flexibilité : Cette expression complète englobe un large éventail de formats d'URL YouTube, garantissant une adaptabilité à divers scénarios.
  2. URL comptabilisées : Il extrait avec succès les identifiants vidéo des URL avec les éléments suivants variantes :

    • URL youtu.be
    • URL intégrées YouTube
    • URL YouTube classiques avec préfixes 'v=' ou 'e/'
    • URL avec du contenu supplémentaire après la vidéo ID
  3. Plateformes prises en charge : L'expression fonctionne de manière transparente avec les URL YouTube.com et YouTube-nocookie.com.
  4. Code intégré Compatibilité : Il gère gracieusement les codes d'intégration, extrayant l'identifiant vidéo malgré leur spécificité format.

Exemple de correspondance d'URL

Cette expression polyvalente correspond et extrait avec précision les identifiants vidéo d'un ensemble diversifié d'URL, notamment :

  • http://youtu.be/dQw4w9WgXcQ
  • http://www.youtube.com/emb ed/dQw4w9WgXcQ
  • http://www.youtube.com/watch?v=dQw4w9WgXcQ
  • http://www .youtube.com/e/dQw4w9WgXcQ
  • http://www.youtube.com/v/dQw4w9WgXcQ
  • http://www.youtube.com/user/username...
  • http://www.youtube.com/watch?...

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