Last active
July 7, 2018 16:19
-
-
Save goosehub/0578867f7f5524d0b94ec13bbbf2cde2 to your computer and use it in GitHub Desktop.
Convert URL into embeds
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function convert_youtube(input) { | |
var pattern = /(?:http?s?:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?(\S+)/g; | |
if (pattern.test(input)) { | |
var replacement = '<iframe width="420" height="345" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>'; | |
var input = input.replace(pattern, replacement); | |
// For start time, turn get param & into ? | |
var input = input.replace('&t=', '?t='); | |
} | |
return input; | |
} | |
function convert_vimeo(input) { | |
var pattern = /(?:http?s?:\/\/)?(?:www\.)?(?:vimeo\.com)\/?(\S+)/g; | |
if (pattern.test(input)) { | |
var replacement = '<iframe width="420" height="345" src="//player.vimeo.com/video/$1" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>'; | |
var input = input.replace(pattern, replacement); | |
} | |
return input; | |
} | |
function convert_twitch(input) { | |
var pattern = /(?:http?s?:\/\/)?(?:www\.)?(?:twitch\.tv)\/?(\S+)/g; | |
if (pattern.test(input)) { | |
var replacement = '<iframe src="https://player.twitch.tv/?channel=$1&!autoplay" frameborder="0" allowfullscreen="true" scrolling="no" height="378" width="620"></iframe>'; | |
var input = input.replace(pattern, replacement); | |
} | |
return input; | |
} | |
function convert_vocaroo(input) { | |
var pattern = /(?:http?s?:\/\/)?(?:www\.)?(?:vocaroo\.com\/i)\/?(\S+)/g; | |
if (pattern.test(input)) { | |
var replacement = '<object width="148" height="44"><param name="movie" value="http://vocaroo.com/player.swf?playMediaID=$1&autoplay=0"></param><param name="wmode" value="transparent"></param><embed src="http://vocaroo.com/player.swf?playMediaID=$1&autoplay=0" width="148" height="44" wmode="transparent" type="application/x-shockwave-flash"></embed></object>'; | |
var input = input.replace(pattern, replacement); | |
} | |
return input; | |
} | |
function convert_video_url(input) { | |
var pattern = /([-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?(?:webm|mp4|ogv))/gi; | |
if (pattern.test(input)) { | |
var replacement = '<video controls="" loop="" controls src="$1" style="max-width: 960px; max-height: 676px;"></video>'; | |
var input = input.replace(pattern, replacement); | |
} | |
return input; | |
} | |
function convert_image_url(input) { | |
var pattern = /([-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?(?:jpg|jpeg|gif|png))/gi; | |
if (pattern.test(input)) { | |
var replacement = '<a href="$1" target="_blank"><img class="sml" src="$1" /></a><br />'; | |
var input = input.replace(pattern, replacement); | |
} | |
return input; | |
} | |
// Run this convert last | |
function convert_general_url(input) { | |
// Ignore " to not conflict with other converts | |
var pattern = /(?!.*")([-a-zA-Z0-9@:%_\+.~#?&//=;]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=;]*))/gi; | |
if (pattern.test(input)) { | |
var replacement = '<a href="$1" target="_blank">$1</a>'; | |
var input = input.replace(pattern, replacement); | |
} | |
return input; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment