正则表达式从字符串中删除某些类的html标记

时间:2015-03-11 00:57:40

标签: javascript html regex

我需要从字符串中删除所有具有特定类的a标记,并将它们存储在另一个字符串中。例如:

var str = 'this is a string <a href="#" class="link">link</a>';

我想用class="link"删除标记并将其保存在str2中。

1 个答案:

答案 0 :(得分:1)

var re = /(<a(?: \w+="[^"]+")* class="link"(?: \w+="[^"]+")*>([^<]*)<\/a>)/g;
var str = 'this is a string <a href="#" class="link">link</a> <a class="link">link2</a>';

var links = [] # array of <a> tags
for (var i in str.match(re)) {
    links.push(str.match(re)[i])
}

var embedded_strings = [] # array of strings inside <a> tags
for (var i in links) {
    embedded_strings.push(links[i].replace(re, "$2"))
}

结果:

links = ['<a href="#" class="link">link</a>', '<a class="link">link2</a>']
embedded_strings = ['link', 'link2']

这个答案假设=周围没有空格,你将只使用双引号。