2014-05-02 151 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>