data = "<p><img src="data:image/jpeg;base64,/9j//9k=">Note: example</p><p>today</p>"
Expected result
data:image/jpeg;base64,/9j//9k=
Code
var m, regex = (/<p[^>]+<img[^>]+src="data:image([^">]+)/g);
m = regex.exec(data);
console.log(data);//null
我尝试使用正则表达式在字符串中获取编码的 Base64 图像 src 以显示在我的文本区域中,但我总是在控制台日志中得到 null
结果。
最佳答案
如果您要使用正则表达式,这里有一个简单的解决方案:
const data = '<p><img src="data:image/jpeg;base64,/9j//9k=">Note: example</p><p>today</p>';
const regex = /<img.*?src=['"](.*?)['"]/;
console.log(regex.exec(data)[1]);
如果您使用的是 jQuery:
console.log($('img').attr('src'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p><img src="data:image/jpeg;base64,/9j//9k=">Note: example</p>
<p>today</p>
如果您想使用纯 JavaScript:
console.log(document.getElementById('img-id').src);
<p><img src="data:image/jpeg;base64,/9j//9k=" id="img-id">Note: example</p>
<p>today</p>
关于JavaScript 获取字符串中的 img src,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59019236/