Avatar billede bigtime Nybegynder
13. december 2011 - 16:33 Der er 8 kommentarer og
1 løsning

tage det sidste i urllen men hvordan?

jeg har en form hvor man kan tilføje youtube film
f.eks http://www.youtube.com/watch?v=6-pvzgIUHhg
men det jeg godt kunne tænke mig var at jeg kunne splitte linket af for jeg ville gerne have det ud som er efter v= så jeg kunne sætte det et andet sted i dben men hvordan splitter jeg den ??
Avatar billede olsensweb.dk Ekspert
13. december 2011 - 17:19 #1
hurtig tanke kan du ikke explode på = ??
http://dk.php.net/explode
array explode ("=", $_GET[url]);
Avatar billede olebole Juniormester
13. december 2011 - 18:16 #2
<ole>

Nu er det nok en URL, som en bruger indtaster i et felt(?) Her kunne man bruge parse_url:

$sUrl = 'http://www.youtube.com/watch?v=6-pvzgIUHhg';

$q = parse_url($sUrl, PHP_URL_QUERY);
print $q;

- men da en URL, kopieret fra Tuben, kan indeholde flere parametre (dog altid med watch først), vil dette nok være lettere at håndtere:

$sUrl = 'http://www.youtube.com/watch?v=6-pvzgIUHhg';

preg_match('#www.youtube.com/watch\?v=(.+?)(&|$)#', $sUrl, $a);
print $a[1];

/mvh
</bole>
Avatar billede bigtime Nybegynder
14. december 2011 - 20:27 #3
lavede den bare sådan her, det lader til at virke.
er der noget forkert i det

    $pieces = explode("&",  $_POST['tubelink']);
    $piecess = explode("=",  $pieces[0]);

    }
$ho= $piecess[1];

nogengange er linket jo også længere end det her
http://www.youtube.com/watch?v=6-pvzgIUHhg%27
Avatar billede olebole Juniormester
14. december 2011 - 22:45 #4
Ja, men hvis du havde testet, jeg viste i #2, ville du vide, at det også tager højde for længere URL'er  *o)

Prøv:


$sUrl = 'http://www.youtube.com/watch?v=6-pvzgIUHhg';
$sUrl2 = 'http://www.youtube.com/watch?v=6-pvzgIUHhg&feature=related';

preg_match('#www.youtube.com/watch\?v=(.+?)(&|$)#', $sUrl, $a);
print $sUrl.': <b>'.$a[1].'</b><br>';

preg_match('#www.youtube.com/watch\?v=(.+?)(&|$)#', $sUrl2, $a);
print $sUrl2.': <b>'.$a[1].'</b><br>';

Avatar billede bigtime Nybegynder
17. december 2011 - 13:51 #5
jeg fandt faktisk svaret på php.net
men olebole du har helt ret :D
hvis i begge kommer med et svar så deler i sku :D
Avatar billede olebole Juniormester
17. december 2011 - 18:04 #6
Ellers tak, jeg samler ikke point  =)
Avatar billede bigtime Nybegynder
17. december 2011 - 21:29 #7
du en guttermand olebole
Avatar billede olsensweb.dk Ekspert
18. december 2011 - 16:13 #8
du kan da godt få et svar her, men må indrømme løsningen med et regulært udtryk er smart (det bare ikke min stærke side ennu), men ikke det jeg tænker som det første
Avatar billede olebole Juniormester
18. december 2011 - 16:52 #9
ronols er en helt oplagt kandidat i forbindelse med pointuddeling. Han kom med et udmærket forslag, der i hvertfald besvarede dit oprindelige spørgsmål  =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester