嗨,我正在尝试拆分一个包含数字图像src的字符串,并将它们存储在一个数组中。现在我只能得到一个图像src,我如何循环并将所有的src图像存储到一个数组中?
var s = contentHtml;
//splits the first src
var arrStr = s.split('<img src="').pop().split('"').shift();
var numofimg = (s.split('<img src="').length - 1);
var myarray = [numofimg];
if (numofimg != 0) {
for (int i = 0; i < numofimg; i++) {
}
}
发布于 2018-06-16 07:22:07
如果你真的想只使用字符串(即所有的img标签都是一致的格式,没有额外的属性,等等)您可以使用正则表达式来处理它。
var contentHtml = "<html>Some junk<img src=\"abc.jpg\" />Some junk<img src=\"def.jpg\" /><p>Some junk<img src=\"9000.gif\" /></p></html>";
var results = [];
var rgx = /<img src="([^"]+)"/g;
var match;
while (match = rgx.exec(contentHtml)) {
results.push(match[1]); // match[1] contains the captured group
}
console.log(results);
如果它是一个更复杂或不一致的文档,可能有更好的方法来实现。
发布于 2018-06-16 07:25:17
var strImages = '<img src="afoo.jpg"><img src="bar.jpg"><img src="banana.jpg">';
var rePattern = /src="(.+?)"/g;
var arSources = [];
reMatch = rePattern.exec(strImages);
while (reMatch !== null) {
arSources.push(reMatch[0]);
reMatch = rePattern.exec(strImages);
};
console.log(arSources);
https://stackoverflow.com/questions/50883565
复制相似问题