diff --git a/js/plugins.js b/js/plugins.js index 0b3211e..5249b63 100644 --- a/js/plugins.js +++ b/js/plugins.js @@ -189,23 +189,16 @@ plugins.factory('userPlugins', function() { * * See: https://developers.google.com/youtube/player_parameters */ - var youtubePlugin = new Plugin(function(message) { + var youtubePlugin = new Plugin(urlPlugin(function(url) { + var regex = /(?:youtube.com|youtu.be)\/(?:v\/|embed\/|watch(?:\?v=|\/))?([a-zA-Z0-9-]+)/i, + match = url.match(regex); - var regExp = /(?:https?:\/\/)?(?:www\.)?(?:youtube.com|youtu.be)\/(?:v\/|embed\/|watch(?:\?v=|\/))?([a-zA-Z0-9-]+)/gm; - var match = regExp.exec(message); - var content = []; - - // iterate over all matches - while (match !== null){ + if (match){ var token = match[1]; var embedurl = "https://www.youtube.com/embed/" + token + "?html5=1&iv_load_policy=3&modestbranding=1&rel=0&showinfo=0"; - content.push(''); - // next match - match = regExp.exec(message); + return ''; } - - return content; - }); + })); youtubePlugin.name = 'YouTube video'; /* diff --git a/test/unit/plugins.js b/test/unit/plugins.js index af3229c..537f86a 100644 --- a/test/unit/plugins.js +++ b/test/unit/plugins.js @@ -47,7 +47,6 @@ describe('filter', function() { 'https://youtu.be/J6vIS8jb6Fs', 'http://www.youtube.com/embed/dQw4w9WgXcQ', 'https://www.youtube.com/embed/dQw4w9WgXcQ', - 'youtu.be/dQw4w9WgXcQ' ], 'YouTube video', plugins);