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);