在我的數據對象中,我有一個完整的YouTube網址(http://www.youtube.com/watch?v=kJ9g_-p3dLA)。Angular如何從完整的YouTube網址獲取視頻ID
在我的部分我需要從這個字符串中提取視頻ID(kJ9g_-p3dLA)。我試圖在應用程序啓動時不訴諸所有數據,並通過這種方式提取視頻ID。
我正在尋找一個過濾器或指令,我可以提供將返回視頻ID的完整YouTube ID。任何人?
在我的數據對象中,我有一個完整的YouTube網址(http://www.youtube.com/watch?v=kJ9g_-p3dLA)。Angular如何從完整的YouTube網址獲取視頻ID
在我的部分我需要從這個字符串中提取視頻ID(kJ9g_-p3dLA)。我試圖在應用程序啓動時不訴諸所有數據,並通過這種方式提取視頻ID。
我正在尋找一個過濾器或指令,我可以提供將返回視頻ID的完整YouTube ID。任何人?
最後寫我自己的過濾器這樣的:
app.filter("GetYouTubeID", function ($sce) {
return function (text) {
var video_id = text.split('v=')[1].split('&')[0];
return video_id;
}
})
可以在局部使用像這樣:
{{content.complete_youtube_url | GetYouTubeID}}
測試與爆炸PHP
的功能$ youtubre_url = 「http://www.youtube.com/watch?v=kJ9g_-p3dLA」;
$ array_id = explode(「=」,$ youtubre_url); $ id = $ array_id [1];
我使用的角度,而不是PHP .... – Squrler
您可以使用正則表達式,它們與Angular沒有依賴關係。
請注意,我不是一個正則表達式專家,所以我的表達式可能不是完美。
var regex = new RegExp(/(?:\?v=)([^&]+)(?:\&)*/);
var url = "http://www.youtube.com/watch?v=kJ9g_-p3dLA";
var matches = regex.exec(url);
var videoId = matches[1]; // kJ9g_-p3dLA
該正則表達式將捕獲?V的基團=和&(所述&是可選的)。
<button onclick="myFunction()">Try it</button>
<p id = "demo" />
<script>
function myFunction() {
var url= "http://www.youtube.com/watch?v=kJ9g_-p3dLA"; //sample url
var res = str.split("http://www.youtube.com/watch?").splice("1");
document.getElementById("demo").innerHTML = url;
}
</script>
感謝Mike Pugh,由於週五晚上的監督...... :)感謝您的糾正。 – Squrler