获取img和a标签中的链接

有时候会有这么一种需求,根据一段html字符串获取其中img或者a标签的链接,闲来无事,写了一个。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function findLink(text, type) {
var reg1, reg2, srcArr = [];
switch (type) {
case 'a':
reg1 = /<a\b.*?(?:>)/gi;
reg2 = /\bhref\b\s*=\s*[\'\"]?([^\'\"]*)[\'\"]?/i;
break;
case 'img':
reg1 = /<img\b.*?(?:\>|\/>)/gi;
reg2 = /\bsrc\b\s*=\s*[\'\"]?([^\'\"]*)[\'\"]?/i;
break;
default:
reg1 = /<a\b.*?(?:>)/gi;
reg2 = /\bhref\b\s*=\s*[\'\"]?([^\'\"]*)[\'\"]?/i;
break;
}
var arr = text.match(reg1);
if (!arr) return []
for (const item of arr) {
var itemArr = item.match(reg2)
if (itemArr) {
srcArr.push(itemArr[1])
}
}
return srcArr
}
// text :要查找的字符串 type:类型