求一句正则表达式: 删除html里面所有的A标签,但是A标签里面含有title=yy 的不删除。

请教一下,求一句正则表达式: 删除html里面所有的A标签,但是A标签里面含有title=yy 的不删除。
最新回答
风花雪月夜

2025-02-25 07:08:08

你这要用到正则吗?用jquery就能非常方便的解决了,对不同问题要采用最合适的解决方案。
jquery解决:
$("a").not('[title="yy"]').each(function(){$(this).remove();});

使用正则解决:
var content = document.body.innerHTML;
content =content.replace(/<a\s+([^>](?!tytle="yy"))+\s*>[^<]*?</a>/gi,"");
document.body.innerHTML=content;

上面的代码是我随手写的,没经过测试,原理就是那样了,有问题就自己调下
追问
不行啊。继续问
追答
不行?不会吧!我把jquery的代码用html试了下,很正常啊

html内容

function clearA(){
$("a").not('[title="yy"]').each(function(){$(this).remove();});
}

asdf
asdf
clear

点击clear后,第一个title不是yy的a链接被删除了,很正常的功能!