从html代码中获取图像src' s

时间:2014-09-12 07:46:20

标签: javascript html regex

我在变量中有任何html代码。例如:

var MyHTML = 
'<div>
<ul>
<li><img src="http://aaa.ru/image1.png" /></li>
<li><img src="http://aaa.ru/image2.png" /></li>
<li><img src="http://aaa.ru/image3.png" /></li>
</ul>
</div>';

如何将所有图像转换为src(var images = [])?

4 个答案:

答案 0 :(得分:1)

var imgarray = $('li img').map(function() { return this.src; }).get()

答案 1 :(得分:0)

如果要解析文本,可以使用此正则表达式:

/src="([^"]+)"/

如果您使用的是JavaScript,则可以执行以下操作:

MyHTML.match(/src="([^"]+)"/g);

答案 2 :(得分:0)

你可以使用jQuery来实现这个

// wrap the HTML into a jQuery object
var $myHTML = $(MyHTML);
// initiate a new empty array
var images = [];
// iterate through all img elements
$myHTML.find('li img').each(function() {
   // push to the array the src attribute
   images.push($(this).attr('src'));
});

如果要使用此代码,请务必加载jQuery库:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

答案 3 :(得分:0)

你必须使用REGEX作为@Adriien说,因为你的html是字符串,你想要它加载前。试试这个,

var MyHTML = 
'<div><ul><li><img src="http://aaa.ru/image1.png" /></li><li><img src="http://aaa.ru/image2.png" /></li><li><img src="http://aaa.ru/image3.png" /></li></ul></div>';
var srcRegex = /<img src="([^"]+)" \/>/ig;

var matches = [];
while (srcRegex.exec(MyHTML)) {
  matches.push(RegExp.$1);
}

//contains all cookie values
console.log(matches);

jsfiddle http://jsfiddle.net/cwva0b0g/