2016-04-22 7 views
0

Ich möchte ein System erstellen, das Youtube-URLs automatisch in die Seite einbettet. Zum Beispiel, wenn der Benutzer einen Link eines Videos von youtube anlegt. Ich möchte einen iframe des Videos machen. Irgendwelche Codezeilen werden geschätzt. Es ist wie ein Hinzufügen von Video zu einem Beitrag nur mit URL.Wie man ein automatisches Einbettsystem mit Youtube-URLs erstellt

+0

Überprüfen Sie die korrekte, markierte Antwort da drüben [Was ist die effizienteste Methode, YouTube-Videos über jQuery bei einem Benutzerklick zu laden?] (Http://stackoverflow.com/questions/6240946/what-is-the- am effizientesten zu laden-youtube-videos-durch-jquery-on-a-benutzer-c). Es kann dir helfen. – hmd

+0

Sah das schon. Hat nicht geholfen. Zu verschieden von dem, was ich meinte. Ich muss nur die URL eingeben und es konvertiert die URL in einen iframe und fügt das Video auf einem Post hinzu. – James

+0

yep, es arbeitet mit einem 'Anker-Tag'. Sie können Ihre eigene Eingabe verwenden (um eine URL einzugeben) und eine Schaltfläche (die zum Auslösen per Klick verwendet wird) und dann den Wert der Eingabe in Ihrer Funktion erhalten. – hmd

Antwort

0

Sehr einfach, wenn Sie möchten nur tun Sie es mit PHP.

Verwenden preg_match() der Video-Hash aus der eingereichten URL:

//$url = $_POST['url']; 
$url = 'https://www.youtube.com/watch?v=dl4bprs4dB4'; 
preg_match('/v=([a-z0-9]+)/', $url, $matches); 

if (!empty($matches[1])) { 
    echo "<iframe width=\"854\" height=\"480\" src=\"https://www.youtube.com/embed/" . $matches[1] . "\" frameborder=\"0\" allowfullscreen></iframe>"; 
    // Outputs: <iframe width="854" height="480" src="https://www.youtube.com/embed/dl4bprs4dB4" frameborder="0" allowfullscreen></iframe> 
} 
1

Sie benötigen JQuery Bibliothek in Ihrer Web-Seite zu schließen, und dann:

HTML:

<input type="text" id="video_url"> 
<input type="button" id="loadTheVideo" value="load the video"> 
<div class="details_right" id="video_container">video place</div> 

JQuery:

$(document).ready(function(){ 
    $('#loadTheVideo').click(function(e){ 
     e.preventDefault(); 
     var URL = $("#video_url").val(); 
     var htm = '<iframe width="425" height="349" src="http://www.youtube.com/embed/' + URL + '?rel=0" frameborder="0" allowfullscreen ></iframe>'; 
      $('#video_container').html(htm); 
     return false; 

    }); 
}); 

Demo:http://jsfiddle.net/sofc3e47/1/

die Antwort Verbesserte What is the most efficient way to load YouTube videos through jQuery on a user click? gemäß @OP Anforderungen.

+0

Sieht aus, dass Sie ein Video mit einem Link nicht einbetten können. Zum Beispiel, wie urs www.youtube.com/embed/+url. Was ist, wenn die URL = youtube.com/watch?v=hdhshsh ist. Der Link lautet youtube.com/embed/youtube.com/watch?v=hshshshssh. Was bedeutet, dass es ein ungültiger Code ist, sollte es ein Code sein, nicht ein Link nach dem/embedded/ – James

+0

@James für die Benutzerfreundlichkeit wird es mit der URL wie "https: //www.youtube.com/watch? V = ZHfEakxwosQ" das sein wird vom Benutzer in das Eingabefeld eingegeben. Aber auf der Ebene der Entwicklung, wie in [Youtube-Regeln, um ihre Videos auf Websites von Drittanbietern abzuspielen, bieten sie Ihnen die Möglichkeit, sie einzubetten] (https://support.google.com/youtube/answer/171780?hl=de). Also, die URL auf der Benutzeroberfläche bleibt so, wie Sie wollen. – hmd

Verwandte Themen