Replace Image & Youtube URL with Javascript
by Sekedus
HTML
<div id="comment-holder">
<p>List of most-viewed YouTube videos<br /><br />link 1:<br /><br />https://www.youtube.com/watch?v=kJQP7kiw5Fk&feature=iv<br /><br />link 2:<br /><br />http://www.youtube.com/watch?v=RgKAFK5djSk<br /><br />link 3:<br /><br />www.youtube.com/watch?v=JGwWNGJdvx8<br /><br />link 4:<br /><br />youtube.com/watch?v=9bZkp7q19f0<br /><br />link 5:<br /><br />https://youtu.be/OPf0YbXqDm0</p>
<p>Image Test<br /><br />http://www.google.com<br />http://wow.com<br />image.jpg<br />http://www.desismileys.com/smileys/desismileys_2783.gif<br />https://2.bp.blogspot.com/-PI8Zuo2jM4o/T2vhCXeHo5I/AAAAAAAACXQ/iQU5joOKp4o/s1600/my-comment-author.png<br />https://lh3.googleusercontent.com/-pw32Q-4PAGQ/AAAAAAAAAAI/AAAAAAAAAAA/AFiYof3ofjXlHojV5W0KO4RfvGjDSjaK7A/s80/photo.jpg<br />https://caniuse.com/img/browserstack.svg</p>
<p>Test</p>
<p>Test Comment</p>
</div>
JavaScript
//Credit to http://www.dte.web.id/2012/05/paket-javascript-fitur-manipulasi.html
var commentBody = document.querySelectorAll('#comment-holder p'),
Replace_Youtube_Link = true,
Replace_Image_Link = true;
function trim(str) {
var whitespace = '\n\r\t\f\x5b\x5d\x7c\x7d\x3c\x3e\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000';
for (var i = 0; i < str.length; i++) {
if (whitespace.indexOf(str.charAt(i)) != -1) {
str = str.substring(0, i);
break;
}
}
return str
}
for (var i = 0; i < commentBody.length; i++) {
var oldhtml = commentBody[i].innerHTML;
//Replace Youtube Link
if (Replace_Youtube_Link) {
var ytRegex = /(?:https?:\/\/)?(?:www\.)?(?:youtube(?:-nocookie)?\.com\/watch\?vi?=|youtu\.be\/)/g,
ytKey = 'https://www.youtube.com/watch?v=',
check_index = oldhtml.indexOf(ytKey);
while (check_index != -1) {
oldhtml = oldhtml.replace(ytRegex, ytKey);
ht = oldhtml.substring(check_index);
ytLink = trim(ht);
var ytCode_index = ytLink.indexOf('&');
var ytCode = '';
if (ytCode_index == -1) {
ytCode = ytLink.substring(ytKey.length);
} else {
ytCode = ytLink.substring(ytKey.length, ytCode_index);
}
var ytVideo = '<iframe class="comment_youtube" src="https://www.youtube.com/embed/' + ytCode + '?autohide=1" frameborder="0" allowfullscreen></iframe>';
oldhtml = oldhtml.substring(0, check_index) + ytVideo + oldhtml.substring(check_index + ytLink.length);
check_index = oldhtml.indexOf(ytKey);
if (check_index == -1) {
ytKey = 'https://www.youtube.com/watch?v=';
check_index = oldhtml.indexOf(ytKey);
}
commentBody[i].innerHTML = oldhtml;
...