Je m'explique. Je souhaite pour mon site web permettre aux membre d'ajouter des videos, (youtube, dayli etc).

Pour simplifier je fais rentrer au membre seulement l'url de la video, exemple:
http://www.youtube.com/watch?v=GnrpoUPYFPs

Mon script a une condition "si player="youtube" alors on affiche le code embed de youtube". Sauf que je voudrai automatiser. Dans le formulaire le membre met l'url et on récupère dans la BDD que les éléments en gras: http://www. youtube.com/watch?v= GnrpoUPYFPs

Je ne sais pas comment faire pour, en cliquant sur la validation du formulaire, récupérer les 2 infos et les stoquer dans la bdd.

Merci de votre aide.

5 réponses


PhiSyX
Réponse acceptée

Hello,

<?php
if (isset($_POST'youtube'])) {
    extract($_POST);
    if (isset($youtube[0])) {
        // http://www.youtube.com/watch?v=GnrpoUPYFPs - www.youtube.com/watch?v=GnrpoUPYFPs#7m67
        // Tu peux améliorer la regex bien sûr ;)
        $regex = '/^((http:\/]{2}|[w]{3}).+(youtube).+\/]watch\?]v=\b([a-z0-9]+)\b.*)/i';
        if (preg_match($regex, $youtube, $result)) {
            // Le 3 = youtube et le 4 = paramètre du v (ou autre)
            echo 'Ok : ', $result[3], ' -> ', $result[4];
        } else {
            echo 'Pas ok : ', $youtube;
        }
    } else {
        echo 'Le champ est obligatoire';
    }
}
?>
(...)
Ton formulaire (post, input text:name->youtube)
(...)

Fais plusieurs tests, avec de bons liens, mauvais liens etc.. S'il y a des erreurs à toi de modifier la regex :p
Voilà voilà

Lakh92
Réponse acceptée

Y'a plus simple les gens :

<?php
$adresse = "http://www.youtube.com/watch?v=GnrpoUPYFPs";
$coupe = explode($adresse, "?v=");
echo $coupe[1];
?>

On obtient bien le code voulu :)

Regex ;)

Guilhem
Auteur

Et avec un code en exemple :D ^^" Désolé mais je ne vois pas trop comment faire..

@Guilhem : On ne te donne que des pistes à toi d'utiliser tes connaissances et de chercher sur internet comment utiliser ces pistes pour arriver à ta solution, c'est comme ça que tu progressera :)