前台javascript移除特定的html标签

hmloo 2011-08-18 09:07:13
我想在前台移除除了<p><br><b><i><ul><li>标签之外的其他所有html标签
例如
var str = '<p class="p1"> p 测试</p><div id="d1" class="cd1">div 测试</div>这是测试<br><table id="t1" class= "ta1"><tr><td>table 测试</td></tr></table>';

处理后得到的结果是
str = '<p class="p1"> p 测试</p>div 测试这是测试<br>table 测试';

...全文
475 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
树成 2011-08-20
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 default7 的回复:]

引用 1 楼 zxy900213 的回复:

用jquery

JScript code
$(":not(p):not(br):not(b):not(i):not(ul):not(li)").remove();


假如里面的DOM有错误,有很多标签没有闭合呢?
[/Quote]

那你就要求把他们闭合,处理一个一开始就错误的问题,无论怎样都是错误的,而且会一直错下去。
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zxy900213 的回复:]

用jquery

JScript code
$(":not(p):not(br):not(b):not(i):not(ul):not(li)").remove();
[/Quote]

假如里面的DOM有错误,有很多标签没有闭合呢?
happytonice 2011-08-20
  • 打赏
  • 举报
回复
用正则
wolf1947 2011-08-20
  • 打赏
  • 举报
回复
var str = '<p class="p1"> p 测试</p><div id="d1" class="cd1">div 测试</div>这是测试<br><table id="t1" class= "ta1"><tr><td>table 测试</td></tr></table>';
var reg=/(?:<[^p(?:br)bi(?:ul)(?:li)\/]……


就是这个
001007009 2011-08-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sencha_android 的回复:]
JScript code

var str = '<p class="p1"> p 测试</p><div id="d1" class="cd1">div 测试</div>这是测试<br><table id="t1" class= "ta1"><tr><td>table 测试</td></tr></table>';
var reg=/(?:<[^p(?:br)bi(?:ul)(?:li)\/]……
[/Quote]

这个可以。
最后一个菜鸟 2011-08-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hmloo 的回复:]

恩。呵呵,我就是正则不是很熟,所以求助各位牛人
[/Quote]
我写的试了没
wishifef 2011-08-18
  • 打赏
  • 举报
回复

$(":not(p):not(br):not(b):not(i):not(ul):not(li)").each(function(i){
var tt=$(this).html();
$(this).replaceWith(tt);
})
hmloo 2011-08-18
  • 打赏
  • 举报
回复
恩。呵呵,我就是正则不是很熟,所以求助各位牛人
最后一个菜鸟 2011-08-18
  • 打赏
  • 举报
回复

var str = '<p class="p1"> p 测试</p><div id="d1" class="cd1">div 测试</div>这是测试<br><table id="t1" class= "ta1"><tr><td>table 测试</td></tr></table>';
var reg=/(?:<[^p(?:br)bi(?:ul)(?:li)\/].*?>)|(?:<\/[^p(?:br)bi(?:ul)(?:li)].*?>)/g;
alert(str.replace(reg,""));

正则表达式不是太好写了很长,但是目的总算达到了
hmloo 2011-08-18
  • 打赏
  • 举报
回复
我需要把内容留下来。把开始标签和结束标签都去掉
ZXY900213 2011-08-18
  • 打赏
  • 举报
回复
用jquery

$(":not(p):not(br):not(b):not(i):not(ul):not(li)").remove();
ZXY900213 2011-08-18
  • 打赏
  • 举报
回复
用jquery

$(":not(p):not(br):not(b):not(i):not(ul):not(li)").remove();
ZXY900213 2011-08-18
  • 打赏
  • 举报
回复
用jquery

$(":not(p):not(br):not(b):not(i):not(ul):not(li)").remove();

87,996

社区成员

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

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