Aus Youtube link Video id herausfiltern.
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aussage
beispiel
code
dank
ergebnis
fehler
filter
http
idee
jemand
mann
match
spiel
tip
url
vergessen
version
versuchen
versucht code
video
-
Hallo LC,
Da es ein Neues YouTube gibt gibts auch jede menge neue Videolinks.
Das führt bei meinen Filter zu Fehlern. Jetzt will ich einen Neuen Filterscripten weiß aber nicht wie ich das machen soll.
ich brauche v=....... also das http://www.youtube.com/watch#playnext
=1&playnext_from=TL&videos=8BAtY9a7C9s&v=5ubVwEdKZDc Also muss ich alles andere rausfiltern. Da dies nur ein Beispiel Link ist und es noch viele andere Link Versionen gibt müsste der Filter v=....... bis zum eventuellen "&" oder bis zum ende des links behalten und alles andere löschen. Ich weiß aber nicht wie das gehen soll.
Hat jemand eine Idee? Könnte mir wär helfen?
LG
Christian -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
$viedeolink = http://www.youtube.com/watch?v=zjOzFSg60B0&feature=grec; $endausgeb = str_replace( 'http://www.youtube.com/watch?v=', '',$viedeolink);
-
seite5d-10 schrieb:
$viedeolink = http://www.youtube.com/watch?v=zjOzFSg60B0&feature=grec; $endausgeb = str_replace( 'http://www.youtube.com/watch?v=', '',$viedeolink);
Das geht bei deinen Beispiel aber bei vielen anderen nicht! Wie z.b Den ich oben angegeben habe!!!
Jemand ne bessere idee?
LG -
seite5d-10 schrieb: naja, mann könnte versuchen alle möglichkeiten des links herauszufinden und dann php alle möglichkeiten durch machen lassen
Ja schon das war auch meine Erste Idee aber mir zu aufwendig. Da YouTube auch öfters neue Links hat.
Es muss doch möglich sein aus einer Variable (irgendwasv=irgendwas&ihrgentwas) das herauszufiltern : v=irgendwas
Keiner ne Idee?
LG -
nikic schrieb:
preg_match('#?v=([0-9A-Za-z]+)#', $url, $matches);
Dann findest du das Ergebnis in $matches[1]
Danke Schonmal!!!
Geht aber nicht so richtig.
Bei mir kommt nix raus?
ich habe jetzt
$link ="http://www.youtube.com/watch#playnext=1&playnext_from=TL&videos=pNGv0d5BuSI&v=68bL02Ogrt0"; preg_match('#?v=([0-9A-Za-z]+)#', $link , $matches); ech"id:$matches[1] ";
es kommt aber nix raus?!
Danke für die Schonmal!!! -
nikic schrieb:
preg_match('#[?&]v=([0-9A-Za-z]+)#', $url, $matches);
Hab vergessen, dass es ?v und &v sein kann
Nochmal Nochmal Nochmal DANKE!
das mit dem & geht aber immer noch nicht. Normale Links wie der gehen
http://www.youtube.com/watch?v=zjOzFSg60B0
aber sobald & ins spiel kommt geht es nicht.
http://www.youtube.com/watch?bla=ji&v=zjOzFSg60B0
oder sowas;
http://www.youtube.com/watch?bla=ji&v=zjOzFSg60B0&bal=dfgf
Hoffe die hilfst mir nochmal -
christian1603 schrieb:
nikic schrieb:
preg_match('#[?&]v=([0-9A-Za-z]+)#', $url, $matches);
Hab vergessen, dass es ?v und &v sein kann
Nochmal Nochmal Nochmal DANKE!
das mit dem & geht aber immer noch nicht. Normale Links wie der gehen
http://www.youtube.com/watch?v=zjOzFSg60B0
aber sobald & ins spiel kommt geht es nicht.
http://www.youtube.com/watch?bla=ji&v=zjOzFSg60B0
oder sowas;
http://www.youtube.com/watch?bla=ji&v=zjOzFSg60B0&bal=dfgf
Hoffe die hilfst mir nochmal
haste mal das versucht:
preg_match('#[?&]v=([0-9A-Za-z]+)[?&]#', $Link, $matches);
vieleicht geht das ja.
LG -
schuelerhc schrieb:
haste mal das versucht:
preg_match('#[?&]v=([0-9A-Za-z]+)[?&]#', $Link, $matches);
vieleicht geht das ja.
LG
Was soll das denn für einen Sinn machen? Das & soll doch nur davor stehen, nicht dahinter.
mein Tip: Vielleicht hängt er sich irgendwie an ASCII auf. "&" ist ja der ASCII-Code für &. Ich kenne mich aber audrücklich nicht gut mit regulären Ausdrücken aus und kann das daher nur vermuten.
Vor allem aber wollte ich schuelerhc wiedersprechen. -
Hä?
$link1 = "http://www.youtube.com/watch?v=zjOzFSg60B0"; $link2 = "http://www.youtube.com/watch?bla=ji&v=zjOzFSg60B0"; $link3 = "http://www.youtube.com/watch?bla=ji&v=zjOzFSg60B0&bal=dfgf"; preg_match('/[?&]v=([0-9A-Za-z]+)/', $link1, $matches1); preg_match('/[?&]v=([0-9A-Za-z]+)/', $link2, $matches2); preg_match('/[?&]v=([0-9A-Za-z]+)/', $link3, $matches3); echo "<pre>". print_r($matches1,true)."<hr>". print_r($matches2,true)."<hr>". print_r($matches3,true)."</pre>";
Funktioniert doch einwandfrei?
Edit - @christian1603:
Die Aussage "es geht nicht" kann man sich sparen.
Entweder debugt' man sein Skript und stellt den Fehler/die Meldungen den Helfenden zur Verfügung oder man lässt es.
Beitrag zuletzt geändert: 2.3.2010 22:54:26 von qap2 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage