Эта функция удаляет любой тег <a>
в javascript
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>
со всем содержимым
он рекомендовал использовать подход, основанный на dom, для определения html
используя jQuery:
$('a').remove();
Несмотря на то что:...
это, вероятно, будет работать в 95% случаев
/<a[\s\S]*?<\/a>/
как указывали другие, не рекомендуется анализировать HTML с помощью regexp, но вашему регулярному выражению нужны некоторые незначительные изменения, чтобы иметь возможность делать то, что вам нужно
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
'hi'.match(/[^]/g) //["h", "i"]
Вы не можете точно использовать регулярное выражение для обработки HTML, поэтому для этого вы должны использовать DOM.
$('a').contents().remove();