求一个JS类似于过滤html标签的正则表达式?

只是来听歌的 2016-06-29 06:45:40
字符串str,其值为:
<p><img height="214" alt="test" src="akalghtestsa1.jpg" width="210">这是一个test的字符串</p>
<span class='test' Id='test1'>test</span>

我现在要把str中的‘test’替换为‘new’,得到结果如下:

<p><img height="214" alt="test" src="akalghtestsa1.jpg" width="210">这是一个new的字符串</p>
<span class='test' Id='test1'>new</span>


注意,不能替换标签内的元素
...全文
106 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
scscms太阳光 2016-06-30
  • 打赏
  • 举报
回复
var str ='<<这个test要替换 <p>这个test也要替换>><img height="214" alt="test" src="akalghtestsa1.jpg" width="210">这是一个test的字符串</p><span class="test" Id="test1">test</span>';
str=str.replace(/([^>]*)(<[^<>]+>)([^<]*)/gi,function(a,b,c,d){
  return b.replace(/test/gi,"new")+c+d.replace(/test/gi,"new");
});
天际的海浪 2016-06-29
  • 打赏
  • 举报
回复
str=str.replace(/test(?![^<]*>)/g,"new");

87,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧