diff --git a/filter/mediaplugin/filter.php b/filter/mediaplugin/filter.php
index cb4a75166de..edc0cfca6dc 100644
--- a/filter/mediaplugin/filter.php
+++ b/filter/mediaplugin/filter.php
@@ -90,6 +90,9 @@ class filter_mediaplugin extends moodle_text_filter {
$search = '/]*href="(https?:\/\/www\.youtube(-nocookie)?\.com)\/v\/([a-z0-9\-_]+)[^"#]*(#d=([\d]{1,4})x([\d]{1,4}))?[^>]*>([^>]*)<\/a>/is';
$newtext = preg_replace_callback($search, 'filter_mediaplugin_youtube_callback', $newtext);
+ $search = '/]*href="(https?:\/\/(www\.)?(youtu|y2u)\.be)\/([a-z0-9\-_]+)"[^>]*>([^>]*)<\/a>/is';
+ $newtext = preg_replace_callback($search, 'filter_mediaplugin_shortened_youtube_callback', $newtext);
+
$search = '/]*href="(https?:\/\/www\.youtube(-nocookie)?\.com)\/view_play_list\?p=([a-z0-9\-_]+)[^"#]*(#d=([\d]{1,4})x([\d]{1,4}))?[^>]*>([^>]*)<\/a>/is';
$newtext = preg_replace_callback($search, 'filter_mediaplugin_youtube_playlist_callback', $newtext);
@@ -758,6 +761,18 @@ OET;
return $output;
}
+/**
+ * Change shortened links to YouTube into embedded YouTube videos
+ *
+ * @param $link
+ * @return string
+ */
+function filter_mediaplugin_shortened_youtube_callback($link) {
+ $newlink = array($link[0], 'https://www.youtube.com','',$link[4],'','','',$link[5]);
+ return filter_mediaplugin_youtube_callback($newlink);
+}
+
+
/**
* Change links to Vimeo into embedded Vimeo videos
*
diff --git a/filter/mediaplugin/simpletest/testfiltermediaplugin.php b/filter/mediaplugin/simpletest/testfiltermediaplugin.php
index e74bb2a482d..bd8c748d737 100644
--- a/filter/mediaplugin/simpletest/testfiltermediaplugin.php
+++ b/filter/mediaplugin/simpletest/testfiltermediaplugin.php
@@ -58,7 +58,10 @@ class filter_mediaplugin_test extends UnitTestCase {
'test mpg',
'test',
'test file',
+ 'test file',
'test file',
+ 'test file',
+ 'test file',
'test flv',
'test file',
'test mp3',