youtube video link mit preg_match bearbeiten

kirka

Mitglied
hey, ich habe hier ne dumme Fragen :) wie kann ich richtig per "preg_match" Video-Link von Youtube bearbeiten ? z.B. der normale Link sieht so aus
Code:
http://www.youtube.com/watch?v=kDlM7acXjZY&feature=feedlik

und ich möchte das am ende nur das übrig bliebt kDlM7acXjZY, also alles was von ?v= bis &fe.. geht muss blieben und alles andere muss weg.

danke schön
 
ungestestet

PHP:
preg_match('!http://www.youtube.com/watch?v=[a-z0-9]+!i', $sLink, $aTreffer);

Dein Ergebnis steht in $aTreffer[0]
 
Das ist es nicht ganz. Im ersten Element des Arrays steht stets der gesamte "matchende" RegEx drin. Du benötigst hier eine Gruppe:

PHP:
preg_match('!http://www\.youtube\.com/watch\?v=([a-z0-9]+)!i', $sLink, $aTreffer);

Die Video ID steht dann in $atreffer[1]

Edit: Übrigens müssen die Sonderzeichen vom RegEx (. ?) escaped werden.
 
Zuletzt bearbeitet:
hab ich schon versucht, es kommt nichts, die Seite bliebt weiß vllt. mache ich was falsch :D


PHP:
$sLink = "http://www.youtube.com/watch?v=kDlM7acXjZY&feature=feedlik";

   preg_match('!http://www.youtube.com/watch?v=[a-z0-9]+!i', $sLink, $aTreffer);

  print $aTreffer[1];
 
Das ist es nicht ganz. Im ersten Element des Arrays steht stets der gesamte "matchende" RegEx drin. Du benötigst hier eine Gruppe:

PHP:
preg_match('!http://www\.youtube\.com/watch\?v=([a-z0-9]+)!i', $sLink, $aTreffer);

Die Video ID steht dann in $atreffer[1]

Edit: Übrigens müssen die Sonderzeichen vom RegEx (. ?) escaped werden.


soo mit dem Code von Tim Bureck hat es jetzt geklappt danke schön******!
 
ich habe doch noch ne kleine Frage wenn ich so ein Link einfüge dann kommt nur das i8 raus also das script erkennt _ nicht

Code:
http://www.youtube.com/watch?v=i8_kgpSEmmQ&feature=feedrec_grec_index
 
Den Unterstrich kannst du innerhalb der eckigen Klammern einfach hinzufügen:

PHP:
preg_match('!http://www\.youtube\.com/watch\?v=([a-z0-9_]+)!i', $sLink, $aTreffer);
 
Zurück