IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Ajout d'un code de syndication sur toutes les vidéos [RegEx]


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mars 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Ajout d'un code de syndication sur toutes les vidéos
    Bonjour à tous,

    malgré toute ma bonne volonté je n'ai pas trouvé de solution à mon problème. Comme vous le verrez, je ne suis pas très à l'aise avec les expressions régulières

    Nous avons besoin de rajouter automatiquement, et sur toutes les vidéos d'un article, une clé de syndication dailymotion (en clair, à la fin de l'url source de l'iframe, un parametre ?syndication=xxxxx). Jusqu'à présent, j'utilisais le code ci-dessous que j'ai bricolé à partir de tutos et discussions trouvées sur le web, qui a deux gros inconvénients :
    1. il n'ajoute la clé de syndication que sur la dernière vidéo
    2. il ne fonctionne plus si l'url source de l'iframe contient un paramètre ou plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tableau_article['corps'] = ereg_replace("(iframe)((.)*)(src=\"http://www.dailymotion.com/embed/video/)((.)*)(\")((.)*(></iframe>))","\\1\\2\\4\\5?syndication=xxxxxx\\7\\8",$tableau_article['corps']);
    Pour information, une video Dailymotion a le format suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <iframe frameborder="0" width="480" height="270" src="http://www.dailymotion.com/embed/video/x1canay></iframe>
    et peut avoir des parametres passés dans l'url :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <iframe frameborder="0" width="480" height="270" src="http://www.dailymotion.com/embed/video/x1canay?autoplay=0&logo=1&hideInfos=0&start=0&syndication=&foreground=&highlight=&background="></iframe>
    et ma variable $tableau_article['corps'] contient du code html pour tout l'article, y compris les videos, par exemple avec deux videos :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    blabla blabla <strong>blabla</strong><br><br>
    <iframe frameborder="0" width="480" height="270" src="http://www.dailymotion.com/embed/video/x1canay></iframe>
    <br><br>
    blabla blabla <strong>blabla</strong><br><br>
    <iframe frameborder="0" width="480" height="270" src="http://www.dailymotion.com/embed/video/x1canay?autoPlay=1></iframe>
    ce que nous souhaiterions obtenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    blabla blabla <strong>blabla>/strong><br><br>
    <iframe frameborder="0" width="480" height="270" src="http://www.dailymotion.com/embed/video/x1canay?syndication=xxxxx></iframe>
    <br><br>
    blabla blabla <strong>blabla>/strong><br><br>
    <iframe frameborder="0" width="480" height="270" src="http://www.dailymotion.com/embed/video/x1canay?autoPlay=1&syndication=xxxxx></iframe>
    Mes questions sont :
    Comment insérer cette clé pour toutes les vidéos contenues dans l'article ?
    Et comment faire en sorte également que cela fonctionne avec des vidéos ayant déjà un parametre dans l'url ?

    Un grand merci d'avance pour votre aide.

    Nicolas

  2. #2
    Membre habitué Avatar de denissay
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 103
    Points : 125
    Points
    125
    Par défaut
    Bonjour cher nouveau membre parmis nous

    Vu que ce que tu as c'est du HTML, n'as tu pas songé à utiliser un parseur dom à la place ? avec un parseur, il est tellement aisé d'insérer un attribut à un noeud donné...
    Une réponse utile vous a aidé ? N'oubliez pas le
    Votre problème est résolu ? N'oubliez pas le

  3. #3
    Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mars 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci Batis !

    Pour être franc, je ne connaissais pas du tout cette solution, c'est très intéressant. J'ai jeté un oeil, en clair il faudrait selon toi que je modifie l'url de toutes les iframes par ce biais ?
    Si c'est bien le cas, comment différencier les vidéos Youtube (pour lesquelles nous n'avons pas de clé de syndication et qui sont également intégrées via iframe) des vidéo Dailymotion ?

    encore merci pour ton accueil et ta réponse rapide !

  4. #4
    Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mars 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    J'ai trouvé une solution plus dans mes cordes, je la partage si jamais ça peut servir à d'autres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tableau_article['corps'] = preg_replace("#<iframe(.*)src=\"http://www.dailymotion.com/embed/video/([A-Za-z0-9]*)\" allowfullscreen>#", "<iframe\\1src=\"http://www.dailymotion.com/embed/video/\\2?syndication=xxxx\" allowfullscreen>", $tableau_article['corps']);
    qui ajoute la clé de syndic à toutes les vidéos dailymotion. Elle ne gère pas le cas où il y a d'autres paramètres, ce qui n'est pas gênant dans notre cas.

    merci en tout cas Batis d'avoir pris le temps de me répondre, j'aurais appris quelque chose

  5. #5
    Membre habitué Avatar de denissay
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 103
    Points : 125
    Points
    125
    Par défaut
    Pas de soucis, tu peux toujours jeter un coup d'oeil sur une solution utilisant PHP Simple HTML DOM Parser. C'est bien la solution conseillé !

    Mais si tu tiens toujours à utiliser du regex, tu peux regerder ça aussi... A utiliser avec preg_replace_callback pour tester si ça contient "?" ou non afin d'inserer le bon string...
    Une réponse utile vous a aidé ? N'oubliez pas le
    Votre problème est résolu ? N'oubliez pas le

  6. #6
    Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mars 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    J'ai commencé à regarder le code, c'est relativement simple à utiliser, une corde de plus à mon arc, merci encore pour ton aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [1.x] ajoute une option sur tout les widgets du forumaire
    Par Ontolingua dans le forum Symfony
    Réponses: 6
    Dernier message: 22/10/2010, 15h23
  2. Ajout d'un lien sur toutes les pages d'un site
    Par dcarroz dans le forum SharePoint
    Réponses: 5
    Dernier message: 30/10/2008, 17h27
  3. Réponses: 15
    Dernier message: 08/10/2008, 00h04
  4. [MySQL] mettre un code sur toutes les pages pour dire de s'inscrire
    Par will_smith dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/07/2008, 12h15
  5. Réponses: 2
    Dernier message: 10/01/2007, 17h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo