-1

i need to find base64 string inside my html i got this expression to find the strings:

^\s*data:([a-z]+\/[a-z]+(;[a-z\-]+\=[a-z\-]+)?)?(;base64)?,[a-z0-9\!\$\&\'\,\(\)\*\+\,\;\=\-\.\_\~\:\@\/\?\%\s]*\s*$

But my Code always returns null

short function calling the regex:

m = re.exec(html)

my html to find the base64 string:

<p>​<span rtenodeid="3" id="ms-rterangecursor-start"></span><span id="ms-rterangecursor-end"></span><span id="ms-rterangepaste-start"></span><span id="ms-rterangepaste-end"></span></p><div style="width: 1px; height: 1px; overflow: hidden;" class="ms-rte-pasteremove" contenteditable="true"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAW4AAACOCAIAAACe83XuAAACHklEQVR4nO3c0QnCUAxA0S7uIo6gQ+pfBkgvtOI5ZIOUS6Dwjg/cw5vbWKzvyD8I4A9JCRCQEiAgJUBASoCAlAABKQECx9U/sH/b1euDu3CV7EkJDCnZkxIYUrInJTCkZE9KYEjJnpTAkJI9KYEhJXtSAkNK9qQEhpTsSQkMKdmTEhhSsiclMKRkT0pgSMmelMCQkj0pgSEle1ICQ0r2pASGlOxJCQwp2ZMSGB5kPOXq9cFduEqAgJQAASkBAlICBKQECEgJEJASICAlQEBKgICUAAEpAQJSAgSkBAhICRCQEiAgJUBASoCAlAABKQECUgIEpAQISAkQkBIgICVAQEqAgJQAASkBAlICBKQECEgJEJASICAlQEBKgICUAAEpAQJSAgSkBAhICRCQEiAgJUBASoCAlAABKQECUgIEpAQIHI/nyxhjTo6rBAhICRCQEiAgJUBASoCAlAABKQECUgIEpAQISAkQkBIgICVAQEqAgJQAASkBAlICBKQECEgJEJASICAlQEBKgICUAAEpAQJSAgSkBAhICRCQEiAgJUBASoCAlAABKQECUgIEpAQISAkQkBIgICVAQEqAgJQAASkBAlICBKQECEgJEJASICAlQEBKgICUAAEpAQJSAgSkBAhICRCQEiAgJUBASoCAlAABKQECUgIEpAQISAkQkBIgICVAQEqAgJQAASkBAlICBKQECEgJEJASICAlQOAL8yemKmwohB0AAAAASUVORK5CYII=" alt=""></div>
Flowlicious
  • 116
  • 1
  • 15

1 Answers1

0
function getBase64Imgs()
{
  var b64i = [];
  var imgs = document.querySelectorAll('img');
  if(imgs.length>0)
  {
    for(var i in imgs)
    {
      if(typeof imgs[i].hasAttribute == 'function')
      {
        if(imgs[i].hasAttribute('src'))
        {
          if(imgs[i].getAttribute('src').match(/^data:image\/[^;]+;base64,/i))
            b64i.push(imgs[i]);
        }
      }
    }
  }
  return b64i;
}

console.log(getBase64Imgs());

This return an array with img nodes that are base64 encoded in the src attribute :)

DEMO: https://jsfiddle.net/jfacsqy0/1/

watch console

ZiTAL
  • 3,466
  • 8
  • 35
  • 50