简体   繁体   English

JavaScript 获取字符串中的 img src

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM