此功能会删除javascript中的所有<a>
标记
replace(/<a\b[^>]*>(.*?)<\/a>/i,"")
但它不会删除嵌套标签,例如它不适用于此标签
<a href="http://feeds.feedburner.com/~ff/ardroid?a=AqChTdtuXxo:V799F6z5h7k:qj6IDK7rITs">
<img src="http://feeds.feedburner.com/~ff/ardroid?d=qj6IDK7rITs" border="0">
</a>
我想要另一个正则表达式,它将消除所有<a>
标记及其所有内容
答案 0 :(得分:2)
建议使用基于dom的方法来处理html
使用jQuery:
$('a').remove();
虽然:...
这可能会在95%的时间内起作用
/<a[\s\S]*?<\/a>/
答案 1 :(得分:0)
答案 2 :(得分:0)
正如其他人所指出的那样,使用regexp解析HTML并不是一个好主意,但你的正则表达式需要一些小修改才能做你需要的事情
var s = '<a href="http://feeds.feedburner.com/~ff/ardroid?a=AqChTdtuXxo:V799F6z5h7k:qj6IDK7rITs">\n\
<img src="http://feeds.feedburner.com/~ff/ardroid?d=qj6IDK7rITs" border="0">\n\
</a><span></span>';
s.replace(/<a\b[^>]*>([^]*)<\/a>/im,"") // result will be <span></span>
简单地说,您需要将其与多行字符串匹配,可以在https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp找到更多信息