Kann mir jemand eine Idee geben, wie wir ein YouTube-Video anzeigen oder einbetten können, wenn wir nur die URL oder den Embed-Code haben?
Dies ist sehr einfach... danke Kumpel
Kann mir jemand eine Idee geben, wie wir ein YouTube-Video anzeigen oder einbetten können, wenn wir nur die URL oder den Embed-Code haben?
Sie müssen die Benutzer bitten, den 11-stelligen Code aus dem YouTube-Video zu speichern.
Zum Beispiel http://www.youtube.com/watch?v=Ahg6qcgoay4
Der elfstellige Code lautet: Ahg6qcgoay4
Dann nehmen Sie diesen Code und platzieren ihn in Ihrer Datenbank. Wo immer Sie das YouTube-Video auf Ihrer Seite platzieren möchten, laden Sie den Code aus der Datenbank und fügen Sie den folgenden Code ein:
zum Beispiel für Ahg6qcgoay4 lautet er:
Die Bitte an den Benutzer, den Code aus der URL zu extrahieren, ist keine gute Idee, es ist sehr einfach, Code mithilfe von Regex zu extrahieren! -1
Speichern Sie den Einbettungscode nicht in Ihrer Datenbank -- YouTube kann den Einbettungscode und die URL-Parameter von Zeit zu Zeit ändern. Zum Beispiel wurde der Einbettungscode zugunsten des `</code> Einbettungscodes eingestellt. Sie sollten die Video-ID aus der URL/dem Einbettungscode extrahieren (mithilfe von regulären Ausdrücken, URL-Analysefunktionen oder einem HTML-Parser) und speichern. Anschließend sollten Sie es mit dem derzeit von der YouTube API angebotenen Mechanismus anzeigen.</p> <p>Ein einfaches PHP-Beispiel zum Extrahieren der Video-ID lautet wie folgt:</p> <pre><code><?php preg_match( '/[\\?\\&]v=([^\\?\\&]+)/', 'http://www.youtube.com/watch?v=OzHvVoUGTOM&feature=channel', $matches ); // $matches[1] sollte die YouTube-ID enthalten ?> </code></pre> <p>Ich schlage vor, dass Sie sich diese Artikel ansehen, um herauszufinden, was Sie mit diesen IDs machen können:</p> <ul> <li><a href="http://salman-w.blogspot.com/2012/07/youtube-iframe-embeds-video-playlist-and-html5.html" rel="noreferrer">YouTube-Videos, Wiedergabelisten und mehr mit IFrame-Einbettungen einbinden</a></li> </ul> <p>Um Ihren eigenen YouTube-Videoplayer zu erstellen:</p> <ul> <li><a href="https://developers.google.com/youtube/player_parameters" rel="noreferrer">YouTube Embedded Player-Parameter</a></li> <li><a href="https://developers.google.com/youtube/js_api_reference" rel="noreferrer">Referenz zur YouTube JavaScript Player-API</a></li> </ul></x-turndown>`
Okay, da es sich um eine einfach nummerierte Zeichenkette handelt, ist \\?
dasselbe wie \?
(` escapet nur
` oder '
)
?
und &
sind Abfragezeichen-Trennzeichen (v=
wie in www.youtube.com/watch?v=ABCDEFGH&feature=feedrec_grec_index
und www.youtube.com/watch?feature=feedrec_grec_index&v=ABCDEFGH
). Das Escapen von ?
und &
ist tatsächlich übertrieben. [?&]
und [^?&]
reichen aus.
Von sowohl langen als auch kurzen Youtube-URLs können Sie das Einbetten auf diese Weise erhalten:
$ytarray=explode("/", $videolink);
$ytendstring=end($ytarray);
$ytendarray=explode("?v=", $ytendstring);
$ytendstring=end($ytendarray);
$ytendarray=explode("&", $ytendstring);
$ytcode=$ytendarray[0];
echo "";
Hoffe, es hilft jemandem
Die `und Tags sind veraltet gemäß [HTML Youtube Videos](http://www.w3schools.com/html/html_youtube.asp), es ist empfehlenswert stattdessen das
</code> Tag zu nutzen.</p> <pre><code><iframe width="420" height="315" src="http://www.youtube.com/embed/XGSy3_Czz8k?autoplay=1">`
Damit Ihre Benutzer nicht ihr ganzes Leben damit verbringen müssen, die Video-ID in Links zu finden, um sie in Ihr Formularfeld einzugeben, lassen Sie sie den Link des Videos, das sie auf YouTube finden, posten, und Sie können das folgende Regex verwenden, um die Video-ID zu erhalten:
preg_match("/^(?:http(?:s)?:\/\/)?
(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?v(?:i)?=|
(?:embed|v|vi|user)\/))([^\?&\"'>]+)/", $url, $matches);
Um die Video-ID zu erhalten, können Sie sie mit $matches[1]
abrufen, dies passt zu:
Ein Teil dieser Antwort wird auf die Antwort von @shawn in dieser Frage verwiesen.
``
Hier ist etwas Code, den ich geschrieben habe, um automatisch URLs in Links umzuwandeln und automatisch alle Video-URLs von YouTube einzubetten. Ich habe es für einen Chatroom entwickelt, an dem ich arbeite, und es funktioniert ziemlich gut. Ich bin mir sicher, dass es genauso gut für jeden anderen Zweck funktionieren wird, wie z.B. für einen Blog.
Alles was du tun musst, ist die Funktion "autolink()" aufzurufen und ihr den zu analysierenden String zu übergeben.
Zum Beispiel füge die unten stehende Funktion ein und gib dann diesen Code aus.
`
echo ''.autolink($string).'';
/****************Funktion zum Einbinden****************/
'.$links[$j].'',$string).'';
}else{
$string=str_replace($links[$j],''.$links[$j].'',$string);
}
}
}
return ($string);
}
?>
`
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
0 Stimmen
Das ist keine Upload, sondern Einbetten.
6 Stimmen
Es wird auch nicht in PHP eingebettet...