[英]JavaScript get img src in string
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
I'm trying to get the encoded base64 image src in a string using regex to display in my textarea but I always get the null
result in the console log.我正在尝试使用正则表达式在字符串中获取编码的 base64 图像 src 以显示在我的 textarea 中,但我总是在控制台日志中得到
null
结果。
If you're going to use regex, here is a simple solution:如果您要使用正则表达式,这里有一个简单的解决方案:
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]);
If you're using jQuery:如果您使用 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>
If you wish to use plain javascript:如果你想使用普通的 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>
You could try this:你可以试试这个:
let data = '<p><img src="data: image / jpeg; base64, /9j/ / 9k = ">Note: example</p><p>today</p>'; var m, regex = (/".+"/g); m = regex.exec(data)[0]; m = m.slice(1, m.length - 1); console.log(m);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.