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

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

Mary-Kate Olsen
Libérer: 2024-12-16 15:49:18
original
948 Les gens l'ont consulté

How to Extract YouTube Video IDs from Text Using Regular Expressions?

Comment extraire les identifiants de vidéos YouTube à partir de texte à l'aide d'expressions régulières

Problème :

Donné un champ de texte dans lequel les utilisateurs peuvent saisir du texte, la tâche consiste à extraire toutes les URL des vidéos YouTube et leurs correspondances ID.

Solution utilisant des expressions régulières :

Pour extraire les identifiants de vidéos YouTube d'une chaîne donnée, vous pouvez utiliser une expression régulière qui peut correspondre à tous les formats d'URL YouTube possibles. Voici un exemple d'expression régulière qui peut y parvenir :

https?://(?:[0-9A-Z-]+\.)?(?:youtu.be/|youtube(?:-nocookie)?\.com\S*?[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&amp;+%\w.-]*(?:['"][^<>]*>|</a>))[?=&amp;+%\w.-]*
Copier après la connexion

Répartition de l'expression régulière :

  • https?:// : correspond au protocole HTTP ou HTTPS.
  • (?:[0-9A-Z-] .)? : Correspond à un élément facultatif sous-domaine.
  • (?:youtu.be/|youtube(?:-nocookie)?.comS*?[^ws-]) : correspond à tous les formats d'hébergement YouTube, y compris "youtu.be", "youtube.com", "youtube-nocookie.com" et autorise des caractères supplémentaires avant l'ID de la vidéo.
  • ([w-]{11}) (Capture Group) : capture l'ID de la vidéo YouTube, lequel est une chaîne alphanumérique de 11 caractères.
  • (?=[^w-]|$) : assertion d'anticipation positive qui correspond si le caractère suivant n'est pas un caractère alphanumérique ou la fin de la chaîne.
  • (?![?=& %w.-]*(?:['"][^<>]*>|))[?=& %w.-]* : assertion d'anticipation négative qui garantit l'URL n'est pas déjà lié.

Utilisation :

Vous pouvez utiliser cette expression régulière avec n'importe quel langage de programmation qui prend en charge les expressions régulières. Par exemple, en JavaScript, vous pouvez utiliser le code suivant pour extraire les identifiants de vidéos YouTube :

function extractYouTubeIds(text) {
  const regex = /https?://(?:[0-9A-Z-]+\.)?(?:youtu.be/|youtube(?:-nocookie)?.com\S*?[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&amp;+%\w.-]*(?:['"][^<>]*>|</a>))[?=&amp;+%\w.-]*/;
  const matches = text.match(regex);
  return matches ? matches.map(id => id.slice(17)) : [];
}
Copier après la connexion

Notez que le slice(17) supprime le "https://www. youtube.com/watch?v=" préfixe de l'URL YouTube pour extraire l'ID de la vidéo.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal