Bonjour,
Bien sûr que c'est possible. Maintenant il nous faut connaître le contexte. Par exemple : ces liens dont il est question, doivent-ils être analysés côté front-end ou côté backend ? Si côté backend, alors analyse du contenu sous forme d'un string, directement. Mais vient aussi la question du langage utilisé... PHP ? Ensuite seulement on pourra répondre à la question.
En attendant voici un exemple de regex qui devrait fonctionner avec la plupart des langages, ici la fonction est tirée de JavaScript (je suis sous Node.js, chez moi le JavaScript ça marche partout, aussi bien en back qu'en front, mais ce n'est pas dur à adapter en PHP) :
const test = leContenudeMonString.match(/href="https?:\/\/youtu.be\/(.*?)"/g);
console.log(test); // => renvoie un tableau
La parenthèse capture l'ID de la vidéo.
Voir la regex en action ici :
Regex101.
La capture `href="` ce n'est pas obligatoire, c'est juste pour assurer une spécificité plus importante dans le string analysé.
Par contre, bien que ce type d'URLs pour Youtube fonctionne, ce n'est pas le format habituel, d'ailleurs on a droit à une redirection 301. Perso j'ai plus l'habitude des URLs comme ceci :
https://www.youtube.com/watch?v=z7Pq2N1aFM8
Ce qui me conduit à faire des choses plutôt comme ceci :
/href="https?:\/\/www.youtube.com\/watch\?v=(.*?)"/g
Après, du moment que vous récupériez votre ID... C'est plutôt pour le pointage des liens de base que c'est mieux.
Modifié par Olivier C (15 Mar 2024 - 13:22)