2014-05-02 187 views

回答

2

最後寫我自己的過濾器這樣的:

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}} 
+0

感謝Mike Pugh,由於週五晚上的監督...... :)感謝您的糾正。 – Squrler

0

您可以使用正則表達式,它們與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的基團=和&(所述&是可選的)。

+0

謝謝,我已經得到了這部分。我試圖找到一種方法來實現這一點,我可以在Angular模板中使用它。查看我的答案,我是如何做到的。 – Squrler

+0

@Squrler誤解了你的問題,哎呀!我以爲你問的是如何拆分ID,而不是如何在Angular land中自動完成:P –

+0

All good @Jason L.! – Squrler

1
<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>