obtenir l'id de la vidéo vimeo avec regexp preg_match
J'essaie d'obtenir l'id de la vidéo à partir d'une url de vimeo, mais en regardant dans le code source, parfois, il vient comme:
http://vimeo.com/XXXXXXXXX
et d'autres comme:
http://player.vimeo.com/video/XXXXXXXXX
Je viens d'obtenir l'id de la vidéo, mais il doit être avec des regExp parce que je dois analyser un contenu à partir d'un blog et format comme un facebook page n'lorsque nous insérer du code html.
C'est l'expression que j'ai fait:
/vimeo\.com\/(\w+\s*\/?)*([0-9]+)*$/i
Pouvez-vous m'aider? J'apprécie votre aide.
PD: Désolé pour mon anglais
pourquoi avez-vous
Salut @Dgrin91, j'ai mis \s* uniquement pour les tests. Le XXXXXXXX partie je vois que c'est uniquement de chiffres.
\s*
là? Il ne devrait pas y avoir d'espaces dans l'URL. Aussi, quel est le format de l'XXXXXXX partie? Est-il toujours juste nombres et seulement des nombres?Salut @Dgrin91, j'ai mis \s* uniquement pour les tests. Le XXXXXXXX partie je vois que c'est uniquement de chiffres.
OriginalL'auteur Anibal Mauricio | 2013-06-17
Vous devez vous connecter pour publier un commentaire.
Pourquoi ne pas demander Vimeo sur la vidéo?
L'URL ci-dessus vous donnera une bonne réponse JSON avec beaucoup d'informations utiles, y compris la vidéo ID et le code HTML pour intégrer la vidéo dans une page. Il suffit de passer votre Url à la oembed, il endpoint comme indiqué ci-dessus.
Exemple de réponse JSON (tronquée de longues lignes à des fins d'affichage)
Pour des informations complètes, voir leur oembed, il documentation.
Espérons que quelqu'un trouve cette réponse lorsque vous demandez. 🙂
C'est vimeo méthode préférée de transformer une url d'info un id vidéo. Il ya beaucoup de différentes url d'une vidéo peut avoir (au sein d'un album, au sein d'un groupe, au sein d'un canal, avec une url personnalisée de la chaîne) et il y aura sûrement d'autres à l'avenir
est-il possible que l'on peut obtenir directement la miniature de la vidéo. sans aucune demande.Comme ce
http://img.youtube.com/vi/HwP5NG-3e8I/2.jpg
.OriginalL'auteur salathe
http://(player\.)?vimeo\.com(/video)?/(\d+)
couvre à la fois de vos exemples, mais je suis sûr que ça pourrait être optimisé donné une autre Url.Vous avez besoin d'utiliser différents délimiteurs, essayez
preg_match_all('#https?://(player\.)?vimeo\.com(/video)?/(\d+)#i', $string, $m);
OriginalL'auteur Joel Hinz
Cela devrait fonctionner:
vimeo\.com/(\w*/)*(\d+)
. L' (\w/)* vous permet d'avoir une URL du type vimeo.com/video/something/something-more/more-more-more/XXXXXXXXX sans aucun problème. Ensuite, vous pouvez saisir le XXXXXXXX en recevant seulement le deuxième motif (\d+). Si vous savez combien de chiffres de l'id vidéo a vous pouvez remplacer \d+ \d{n} où n est le nombre de chiffres.Vous avez raison, il y a quelque chose qui cloche dans ma regex, il semble y avoir un problème avec le '/' après le \w. Malade d'essayer de les résoudre maintenant, une minute.
Ok, j'ai compris le problème d'origine. Il doit avoir été (\w*/)*. Qui est votre meilleur regex, et cela fonctionne pour votre cas. Malade de mise à jour de ma réponse maintenant.
Merci, merci beaucoup. C'est tout. Il fonctionne très bien pour moi. Merci encore.
Cela ne fonctionnera pas pour les url personnalisées telles que vimeo.com/dashron/companioncube. Tous les utilisateurs peuvent créer des url comme ceci par l'intermédiaire de leurs paramètres vidéo avancés. Vous devez utiliser la méthode oembed, il mentionné ci-dessous.
OriginalL'auteur David Grinberg