内容:<TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan='2' rowspan="3" mso-border-alt: BORDER-BOTTOM: BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;>想通过正则表达式得到:<TD width="64" colspan="2" rowspan="3">谢谢啦!!!
解决方案 »
- jQuery ui 拖拽的,来个高人看看代码哪里有问题
- 请教弹出层的问题
- 如何用jQuery处理播放器控件ID?谢谢!
- 用 myClassName.prototype 设计的类成员函数,里面如果要为TR对象添加一个onmouseover事件处理程序,要怎么做?
- [求助]FireFox下用XMLHttpRequest()老是出错
- 各位大侠帮忙看看,在线等。关于window.location.href
- 我用form提交到新打开的一页,怎样晴空原来页的用户名和密码?
- 如何在JS中调用PERL写的程序啊????????
- <base>在javascript中不起作用?
- 一个汉字用CSS的定义大小为12px,那么他的宽度是12px吗?另外两个汉字之间的字符距离是否也是这么多???
- 如何在网页中运行本机软件
- JS 分页 求思路
var str='<TD'
s.replace(/(width|colspan|rowspan)=[^ ]+/gi,function($1){str+=' '+$1;});
str+='>';
alert(str)
这样处理对于只有这一个TD是起作用的,但实际中是有多个TD组成的一个TABLE就不行了。
var s='<table><tr><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td></tr></table><table><tr><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td></tr></table>';
var result = ""
var m = s.match(/<td[^>]+>/ig); for(var i = 0 ; i < m.length ; i ++)
{
var str='<TD'
m[i].replace(/(width|colspan|rowspan)=[^ ]+/gi,function($1){str+=' '+$1;});
str+='>';
result+=str+"\n";
}alert(result)
分解处理的方法是可以,但是还需要保留tabel和tr。其实所要实现的就是对一个table中的td中的一些没用的样式进行过滤,但是样式太多没法控制,只要必须的几种,想通过正则来直接过滤。
var s='<TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan=2 rowspan="3" mso-border-alt: BORDER-BOTTOM: BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;>';html = s.replace(/<(\w[^>]*) width=[^ ]+/gi, "<$1");alert(s + "\n"+ html);
</script>这样是可以去掉指定的样式的,但是保留指定的样式试了很长时间也不行。
var regex = /(width|colspan|rowspan)=[^ ]+/gi
var regex1 = /(\][^\<\>]+?\[)|(\].+?(?=\>))|(\s(?=\w).+?\[)/g
s = s.replace(regex,function(word)
{
return "["+word+"]";
}
)
var result = s.replace(regex1," ")
alert(result);