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 :

Fonction BBcode ajout Youtube


Sujet :

Langage PHP

  1. #21
    Membre actif
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Points : 281
    Points
    281
    Par défaut
    j'ai passé en revue les plus gros hébergeurs vidéos tels you tube, ru-tube, mega-video, dailymotion, kewego etc., il utilise tous ce que j'appelle "un code video".

    Et ce code vidéo permet d'intégrer la vidéo etc.
    Par contre, mega-video est plus compliqué, car il demande des paramètres en plus pour la vignette à afficher, mais on peu s'en passer, c'est juste moins élégant

    Même si je les ai tous un peu étudier, je n'ai fait ça que pour you-tube.
    Une astuce sympa, ce serait une balise où tu peu mettre un lien you-tube, dailymotion ou autre, et le script repère de quel site ça viens, et traduit en fonction ...

    Par contre, je le répète, seul le code video es utile. donc si tu veux retenir des vidéos dans des bdd, faut juste un champs "video_code" et un autre "type", pour savoir de quel site ça viens ...

    Tu sait manipuler les regex ?

  2. #22
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Dominique49 Voir le message
    j'ai passé en revue les plus gros hébergeurs vidéos tels you tube, ru-tube, mega-video, dailymotion, kewego etc., il utilise tous ce que j'appelle "un code video".

    Et ce code vidéo permet d'intégrer la vidéo etc.
    Par contre, mega-video est plus compliqué, car il demande des paramètres en plus pour la vignette à afficher, mais on peu s'en passer, c'est juste moins élégant

    Même si je les ai tous un peu étudier, je n'ai fait ça que pour you-tube.
    Une astuce sympa, ce serait une balise où tu peu mettre un lien you-tube, dailymotion ou autre, et le script repère de quel site ça viens, et traduit en fonction ...

    Par contre, je le répète, seul le code video es utile. donc si tu veux retenir des vidéos dans des bdd, faut juste un champs "video_code" et un autre "type", pour savoir de quel site ça viens ...

    Tu sait manipuler les regex ?
    Bonjour

    désolé de pas avoir répondu avant, boulot oblige !!!

    Ok je viens de lire tout ce que tu me dis et franchement j'ai peur de ne pas connaitre les regex (a vrai dire j'ai beaucoup de mal avec) !

    Bon maintenant les videos je ne compte pas les enregistrer en BDD par contre effectivement ce serait sympa de pouvoir avoir qu'une balise et de pouvoir y mettre n'importe quel type de vidéo mais je suppose que pour ça il faut la BDD, donc je me contenterai des principaux comme dailymotion, youtube et koreus !

    J'ai essayer plusieurs chose pour dailymotion mais rien pas moyen de voir le lecteur mais juste le lien entre les balises !

    En tout cas un grand merci a toi de t'intéresser a ce sujet....

  3. #23
    Membre actif
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Points : 281
    Points
    281
    Par défaut
    salut, comme je l'ai dis, seul le "code vidéo" est important
    C'est le seul argument dont on a besoin pour afficher le lecteur.
    Peux-tu nous montrer ta regex ?
    merci.

  4. #24
    Invité
    Invité(e)
    Par défaut
    Re'

    Pour la regex j'ai ceuci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    '#\[DM\] \s* (?: </?[^>]*>)* \s* ([^\[<]+?) \s* (?: </?[^>]*>)* \s* \[/DM\]#x'
    En remplacement j'ai ceuci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    '<object width="420" height="257"><param name="movie" value="$1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="$1" type="application/x-shockwave-flash" width="420" height="257" allowFullScreen="true" allowScriptAccess="always"></embed></object>'
    J'ai un beau carré tout blanc a la place du lecteur.

  5. #25
    Membre actif
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Points : 281
    Points
    281
    Par défaut
    Citation Envoyé par scorpion11_22 Voir le message
    Re'

    Pour la regex j'ai ceuci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    '#\[DM\] \s* (?: </?[^>]*>)* \s* ([^\[<]+?) \s* (?: </?[^>]*>)* \s* \[/DM\]#x'
    En remplacement j'ai ceuci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    '<object width="420" height="257"><param name="movie" value="$1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="$1" type="application/x-shockwave-flash" width="420" height="257" allowFullScreen="true" allowScriptAccess="always"></embed></object>'
    J'ai un beau carré tout blanc a la place du lecteur.
    pourrait-on savoir le code html qui affiche ce beau carré blanc
    merci.

  6. #26
    Invité
    Invité(e)
    Par défaut
    Oui biensur

    Donc le code html qui s'affiche est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <object width="420" height="257"><param name="movie" value="http://www.dailymotion.com/video/x2mrzl_video-auto-vs-moto-ze-duel-moto-jou_auto"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.dailymotion.com/video/x2mrzl_video-auto-vs-moto-ze-duel-moto-jou_auto" type="application/x-shockwave-flash" width="420" height="257" allowFullScreen="true" allowScriptAccess="always"></embed></object>

  7. #27
    Membre actif
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Points : 281
    Points
    281
    Par défaut
    salut, je n'ai pas le temps de décoder ta regex, mais je vois du premier coups que ça viens du fait que tu utilise $1
    essaye avec $2 ou $3, je ne sait pas trop lequel puisque je n'ai pas tout décrypté.
    bon courage.

  8. #28
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Dominique49 Voir le message
    salut, je n'ai pas le temps de décoder ta regex, mais je vois du premier coups que ça viens du fait que tu utilise $1
    essaye avec $2 ou $3, je ne sait pas trop lequel puisque je n'ai pas tout décrypté.
    bon courage.
    J'ai essayé avec $2 et ensuite avec $3 et toujours ce beau carré blanc

    Qu'une galère !!!!

  9. #29
    Membre actif
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Points : 281
    Points
    281
    Par défaut
    et le code html ?

  10. #30
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Dominique49 Voir le message
    et le code html ?
    Désolé j'y est pas pensé !

    Donc avec $2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <object width="420" height="257"><param name="movie" value=""></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="" type="application/x-shockwave-flash" width="420" height="257" allowFullScreen="true" allowScriptAccess="always"></embed></object>
    Et avec $3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <object width="420" height="257"><param name="movie" value=""></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="" type="application/x-shockwave-flash" width="420" height="257" allowFullScreen="true" allowScriptAccess="always"></embed></object>
    D'après ce que je vois pas de value renseigné !
    Je fais un nouveau test avec $1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <object width="420" height="257"><param name="movie" value="http://www.dailymotion.com/video/x2mrzl_video-auto-vs-moto-ze-duel-moto-jou_auto"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.dailymotion.com/video/x2mrzl_video-auto-vs-moto-ze-duel-moto-jou_auto" type="application/x-shockwave-flash" width="420" height="257" allowFullScreen="true" allowScriptAccess="always"></embed></object>
    Ici la value est bien renseigné, et c'est là que je comprend pas ce carré tout blanc

  11. #31
    Membre actif
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Points : 281
    Points
    281
    Par défaut
    aïe, daylimotion à changé ses méthodes ... ce n'était pas comme ça avant ...
    voici l code d’intégration de cette video (lien en code sinon le site m'intègre la vidéo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://www.dailymotion.com/video/x11kse_mozart-requiem_music
    <iframe frameborder="0" width="480" height="360" src="http://www.dailymotion.com/embed/video/x11kse"></iframe><br /><a href="http://www.dailymotion.com/video/x11kse_mozart-requiem_music" target="_blank">Mozart Requiem</a> <i>par <a href="http://www.dailymotion.com/oublierleracismeskyblog" target="_blank">oublierleracismeskyblog</a></i>

    je sait pas si tu vois, mais ici, l'identifiant de la vidéo paraît être x11kse
    et pas x11kse_mozart-requiem_music ... donc il faudrait récupérer le premier bloc de lettre ou chiffre avant la suite ... j'imagine qu'il n'y a jamais de "_" dans l'identifiant, ça va simlplifier.

    voilà ce que je ferais (à la volée)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #http(s)?://www.dailymotion.com/video/(.+[^_])_(.+)#iUs
    et ça te renverrai l'identifiant dans $2.
    je n'ai pas testé, mais ça devrait pouvoir le faire ...
    bon courage.

  12. #32
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Je vien de faire le test et ça m'affiche le lien (en affichant la source) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [DM]<a href="http://www.dailymotion.com/video/x2mrzl_video-auto-vs-moto-ze-duel-moto-jou_auto">http://www.dailymotion.com/video/x2mrzl_video-auto-vs-moto-ze-duel-moto-jou_auto</a>[/DM]
    Voilà la regex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '`\[DM\]#http(s)?://www.dailymotion.com/video/(.+[^_])_(.+)\[/DM\]`iUs'
    Et le remplacement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '<object width="420" height="257"><param name="movie" value="$2"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="$2" type="application/x-shockwave-flash" width="420" height="257" allowFullScreen="true" allowScriptAccess="always"></embed></object>'

  13. #33
    Membre actif
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Points : 281
    Points
    281
    Par défaut
    en fait, c'est que tu n'a pas compris que j'utilise les # comme délimiteur, alors que toi tu utilises apparemment les ` ... et comme tuas mis le [DM] avant le délimiteur ...

    '`\[DM\]http(s)?://www.dailymotion.com/video/(.+[^_])_(.+)\[/DM\]`iUs'

  14. #34
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Bon bha c'est un truc de fou pas moyen de faire quelque chose !
    J'ai essayer en enlevant les # pour les remplacer par ` mais rien a faire !

    Ca me génère une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: preg_replace() [function.preg-replace]: Delimiter must not be alphanumeric or backslash in /XXXXX/XXXXXX/www/Forum/info.php on line 152
    Ligne 152 j'ai une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    global $bbcode , $xhtml , $emoticonc , $emoticonv ,$emoticonnb;
    		$chaine = preg_replace_callback('£\<<<@!1!@>>>).)*?(?R).*?)+|.+?)\[/quote\]£is', 'quote', $chaine);
    		for($em=0;$em<$emoticonnb;$em++) $chaine = str_replace($emoticonc[$em],'<img src="'.$emoticonv[$em].'" border="0" alt="" />',$chaine);
    		$chaine = preg_replace ($bbcode , $xhtml , $chaine);
    Dur Dur je sais plus quoi faire !!

  15. #35
    Membre actif
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Points : 281
    Points
    281
    Par défaut
    tu vois bien que cette ligne n'a rien à voir avec notre problème ... à moins que ce soit un effet indirect de notre pb, mais ça m'étonnerai ...

    à mon avis, il n'a pas digéré le backslash que tu as mis juste après le "£" qui est le délimiteur ...

    bon, en bref, je te conseillerai d'utiliser toujours les même délimiteur.
    Moi, je déteste le backquotes ( ` ), car il ne ce voit pas bien (surtout si il y a des crottes de mouches sur l'écran ) et est difficile à écrire.

    Moi j'utilise toujours le dièse ( # ), qui est bien visible ...

Discussions similaires

  1. [RegEx] fonction d'ajout d'attribut dans une balise html
    Par the magic developer dans le forum Langage
    Réponses: 4
    Dernier message: 30/10/2008, 12h48
  2. Réponses: 6
    Dernier message: 27/08/2008, 13h58
  3. [Dates] Fonction date: ajouter 3 jours à une date
    Par bobic dans le forum Langage
    Réponses: 8
    Dernier message: 12/03/2007, 11h05
  4. Réponses: 3
    Dernier message: 06/12/2006, 13h53
  5. [phpbb] Probléme fonction bbcode
    Par jdotti dans le forum Langage
    Réponses: 3
    Dernier message: 22/09/2006, 23h24

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