Nouveau sujet Répondre Imprimer Syndication RSS 2.0

[Résolu] RegExp adresse Youtube

Equipe des MODS
Avatar de Met@lnono
  • Age : 26 ans
  • Messages : 1206
  • Inscrit : 17 Octobre 2005
Message édité 2 fois, dernière édition par Met@lnono, 13 Mai 2008, 18:26     Lien vers ce message 13 Mai 2008, 7:28
Salut,
je souhaiterais filtrer des adresses de vidéos Youtube avec une expression régulière.

J'ai pris cette adresse comme exemple :
http://fr.youtube.com/watch?v=s-Mqq0Z7eg0

et j'utilise cette expression :
'^http://[-[:alnum:]]+\.youtube\.[a-zA-Z]{2,4}/watch\?v=[-[:alnum:]]+$'


Mais visiblement ça ne passe pas :(
Est ce que vous auriez une solution ?
Merci


 
Volcan
Avatar de Sékiltoyai
  • Age : 20 ans
  • Messages : 1034
  • Inscrit : 19 Septembre 2006
  Lien vers ce message 13 Mai 2008, 9:16
Déjà utilise preg_match plutôt que ereg…


http://www.phpfrance.com : Support francophone PHP et Web.
http://sekil.labrute.fr/
 
Equipe des MODS
Avatar de Met@lnono
  • Age : 26 ans
  • Messages : 1206
  • Inscrit : 17 Octobre 2005
Message édité 1 fois, dernière édition par Met@lnono, 13 Mai 2008, 16:25     Lien vers ce message 13 Mai 2008, 16:24
L'un ou l'autre mais j'ai besoin d'un peu d'aide car je n'ai toujours pas trouvé... j'aime pas les regexp :fsb2_goutte:


 
Volcan
Avatar de Sékiltoyai
  • Age : 20 ans
  • Messages : 1034
  • Inscrit : 19 Septembre 2006
  Lien vers ce message 13 Mai 2008, 17:05
Passe cette expression là à preg_match : '/http:\/\/\w+\.youtube\.com\/watch\?v=([\w\d-]+)/'


http://www.phpfrance.com : Support francophone PHP et Web.
http://sekil.labrute.fr/
 
Equipe des MODS
Avatar de Met@lnono
  • Age : 26 ans
  • Messages : 1206
  • Inscrit : 17 Octobre 2005
Message édité 2 fois, dernière édition par Met@lnono, 13 Mai 2008, 17:27     Lien vers ce message 13 Mai 2008, 17:17
Passe cette expression là à preg_match : '/http:\/\/\w+\.youtube\.com\/watch\?v=([\w\d-]+)/'
Nickel !!!
Merci beaucoup, je vais maintenant essayer d'affiner ça :D
Je suis vraiment un boulet avec les expressions régulières...

EDIT: est ce que tu pourrais me dire à quoi correspond le - dans ([\w\d-]+) ?

EDIT2: Si je comprends, c'est juste pour dire que dans cette partie de l'URL, ilpeut y avoir des lettres, des chiffres ou bien un tiret :)


 
Volcan
Avatar de Sékiltoyai
  • Age : 20 ans
  • Messages : 1034
  • Inscrit : 19 Septembre 2006
  Lien vers ce message 13 Mai 2008, 18:25
\w : Caractère de mot, je crois que le tiret en fait partie mais ca ne coûte rien de l'ajouter en plus
\d : Caractère numérique


http://www.phpfrance.com : Support francophone PHP et Web.
http://sekil.labrute.fr/
 
Volcan
Avatar de Spark
  • Messages : 1999
  • Inscrit : 24 Juin 2006
  Lien vers ce message 13 Mai 2008, 19:57
Pourquoi supprimer [:alnum:] ? :D


Mon site de jeux en réseau Hamachi :
http://www.jeux-reseau.fr
Le forum : http://forum.jeux-reseau.fr
http://img100.imageshack.us/img100/4097/voegelpc3jk2jx2kw4xg6.gif
 
Volcan
Avatar de Sékiltoyai
  • Age : 20 ans
  • Messages : 1034
  • Inscrit : 19 Septembre 2006
  Lien vers ce message 13 Mai 2008, 20:09
Ah merde, j'oubliais, mets ^ en début d'expression et $ en fin.
Spark : cad ?


http://www.phpfrance.com : Support francophone PHP et Web.
http://sekil.labrute.fr/
 
Volcan
Avatar de Spark
  • Messages : 1999
  • Inscrit : 24 Juin 2006
  Lien vers ce message 13 Mai 2008, 21:11
\w : Caractère de mot
\d : Caractère numérique

Alphanumérique quoi ? non ?


Mon site de jeux en réseau Hamachi :
http://www.jeux-reseau.fr
Le forum : http://forum.jeux-reseau.fr
http://img100.imageshack.us/img100/4097/voegelpc3jk2jx2kw4xg6.gif
 
Volcan
Avatar de Sékiltoyai
  • Age : 20 ans
  • Messages : 1034
  • Inscrit : 19 Septembre 2006
  Lien vers ce message 13 Mai 2008, 21:35
A peu de choses près (il y a un ou 2 caractères de plus dans \w)


http://www.phpfrance.com : Support francophone PHP et Web.
http://sekil.labrute.fr/
 
Equipe des MODS
Avatar de Met@lnono
  • Age : 26 ans
  • Messages : 1206
  • Inscrit : 17 Octobre 2005
  Lien vers ce message 14 Mai 2008, 5:23
Merci à vous 2, pour se qui est des classes j'avais compris :p


 
Répondre


.