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&amp;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;
        ...