Récupération de certaines infos dans une URL

Par Guilhem, il y a 15 ans


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

Sitewaide, il y a 15 ans

Regex ;)

Guilhem, il y a 15 ans

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

PhiSyX, il y a 15 ans

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, il y a 15 ans

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 :)

Grafikart, il y a 15 ans

@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 :)