问题自己解决 可能办法笨点<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head><body>
<script language="JavaScript">
<!--
var html="";
html='<TD style="BORDER-RIGHT: windowtext 1pt solid;m:1; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 46.5pt; msoborderalt: solid windowtext .5pt; mso-diagonal-down: .5pt solid windowtext; " vAlign=top width=116>';
html+='\n<TD style="BORDER-RIGHT: windowtext 1pt solid;m:1; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 46.5pt; mso-diagonal-up: .5pt solid windowtext; msoborderalt: solid windowtext .5pt; mso-diagonal-down: .5pt solid windowtext; mso-diagonal-up: .5pt solid windowtext" vAlign=top width=116>';
html+='\n<TD style="BORDER-RIGHT: windowtext 1pt solid;m:1; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 46.5pt; mso-diagonal-up: .5pt solid windowtext; msoborderalt: solid windowtext .5pt;" vAlign=top width=116>';
html+='\n<TD style="BORDER-RIGHT: windowtext 1pt solid;m:1; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 46.5pt; msoborderalt: solid windowtext .5pt;" vAlign=top width=116>';
html+='\n\n<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 85.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 70.6pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-diagonal-up: .5pt solid windowtext" vAlign=top width=114>';function window.onload(){
text1.innerText=html;
}function doclick(){
html=text1.innerText html = html.replace(/<(\w[^>]*) style="([^"]*)"(?: style2="(?:[^"]*)"|)([^>]*)>(?:<diagonal([^>]*)\/>|)/gi,"<$1 style=\"$2\" style2=\"\"$3><diagonal/>");
html = html.replace(/<(\w[^>]*) style="(.*?)(height:[^;|"]*)(?:;|)(.*?)" style2="([^"]*)"([^>]*)>/gi,"<$1 style=\"$2$4\" style2=\"$5$3;\"$6>");
html = html.replace(/<(\w[^>]*) style="(.*?)(mso\-diagonal\-(down):[^;|"]*)(?:;|)(.*?)" style2="([^"]*)"([^>]*)><diagonal([^>]*)\/>/gi,"<$1 style=\"$2$5\" style2=\"$6$3;\"$7><diagonal$8 $4/>");
html = html.replace(/<(\w[^>]*) style="(.*?)(mso\-diagonal\-(up):[^;|"]*)(?:;|)(.*?)" style2="([^"]*)"([^>]*)><diagonal([^>]*)\/>/gi,"<$1 style=\"$2$5\" style2=\"$6$3;\"$7><diagonal$8 $4/>"); html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi,"<$1$3") ; // Remove Style attributes
html = html.replace(/<diagonal>/gi,"");
html = html.replace(/style2=/gi,"style=");
text1.innerText=html;
}
//-->
</script>
<input type=button value="提交" onclick="doclick()">
<br><br><br>
<div id=text1></div>
</body>
</html>看看高手还有没有更高的解决办法 期待优化中
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head><body>
<script language="JavaScript">
<!--
var html="";
html='<TD style="BORDER-RIGHT: windowtext 1pt solid;m:1; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 46.5pt; msoborderalt: solid windowtext .5pt; mso-diagonal-down: .5pt solid windowtext; " vAlign=top width=116>';
html+='\n<TD style="BORDER-RIGHT: windowtext 1pt solid;m:1; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 46.5pt; mso-diagonal-up: .5pt solid windowtext; msoborderalt: solid windowtext .5pt; mso-diagonal-down: .5pt solid windowtext; mso-diagonal-up: .5pt solid windowtext" vAlign=top width=116>';
html+='\n<TD style="BORDER-RIGHT: windowtext 1pt solid;m:1; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 46.5pt; mso-diagonal-up: .5pt solid windowtext; msoborderalt: solid windowtext .5pt;" vAlign=top width=116>';
html+='\n<TD style="BORDER-RIGHT: windowtext 1pt solid;m:1; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 46.5pt; msoborderalt: solid windowtext .5pt;" vAlign=top width=116>';
html+='\n\n<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 85.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 70.6pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-diagonal-up: .5pt solid windowtext" vAlign=top width=114>';function window.onload(){
text1.innerText=html;
}function doclick(){
html=text1.innerText html = html.replace(/<(\w[^>]*) style="([^"]*)"(?: style2="(?:[^"]*)"|)([^>]*)>(?:<diagonal([^>]*)\/>|)/gi,"<$1 style=\"$2\" style2=\"\"$3><diagonal/>");
html = html.replace(/<(\w[^>]*) style="(.*?)(height:[^;|"]*)(?:;|)(.*?)" style2="([^"]*)"([^>]*)>/gi,"<$1 style=\"$2$4\" style2=\"$5$3;\"$6>");
html = html.replace(/<(\w[^>]*) style="(.*?)(mso\-diagonal\-(down):[^;|"]*)(?:;|)(.*?)" style2="([^"]*)"([^>]*)><diagonal([^>]*)\/>/gi,"<$1 style=\"$2$5\" style2=\"$6$3;\"$7><diagonal$8 $4/>");
html = html.replace(/<(\w[^>]*) style="(.*?)(mso\-diagonal\-(up):[^;|"]*)(?:;|)(.*?)" style2="([^"]*)"([^>]*)><diagonal([^>]*)\/>/gi,"<$1 style=\"$2$5\" style2=\"$6$3;\"$7><diagonal$8 $4/>"); html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi,"<$1$3") ; // Remove Style attributes
html = html.replace(/<diagonal>/gi,"");
html = html.replace(/style2=/gi,"style=");
text1.innerText=html;
}
//-->
</script>
<input type=button value="提交" onclick="doclick()">
<br><br><br>
<div id=text1></div>
</body>
</html>看看高手还有没有更高的解决办法 期待优化中
解决方案 »
- prototype 代码问题,求大师帮解
- 求一个关于地址的正则表达式
- javascript实现setInterval 输出自增数字?
- |zyciis| 一条二级菜单在IE6中可以,但在Firefox中不行谁会帮改改啊 谢谢 好像是FireFox不支持window.event 补分贴:cgisir 接分
- Javascript面向对象编程中遇到的问题,请教JS高手!!!!
- 请教:调用iframe中的函数问题
- 用什么方法能使 media play 下边的一组播放的按钮消失
- 请问在javascript中。如何去掉一个字符串两头的空格
- 怎样实现倒计时?
- easyui datagrid 插入行(insertRows) 碰到问题了
- 如何取得如 object.style.top 属性的数字部分?
- innerHTML不能赋值
得到分数可真不容易啊!耗费了大半的精力:
//去右空格;
function rtrim(s){
return s.replace( /\s*$/,"");
}
// 适当调整字符串.
function fmt(str) {
// 获取 style 之间的所有内容
var srp = /(<TD[ ]*?style=(\"|\'))(.*?)((\2).*)/ig;
var g = srp.exec(str);
var result;
if (g)
{
var begin = g[1];
var s = g[3];
var end = g[4] ;
// 去除右边的空格!
s = rtrim(s);
// 在右边添加分号!
s = s + ';'; result = begin + s + end;
} return result;
} // 进行正则的替换。
function regp(str) {
var s = fmt(str);
var result;
if (s)
{
// 构造正则表达式
//regex = /(<TD[ ]*?style=(\"|\'))(.*?((mso-diagonal-down:.*?;)|(mso-diagonal-up:.*?;))){0,2}.*?(\2.*)/ig;
//regex = /(<TD[ ]*?style=(\"|\'))(.*?((mso-diagonal-down:.*?;)|(mso-diagonal-up:.*?;))){0,2}.*?(\2.*)/ig;
// 提取 mso-diagonal-down 属性
regex_down = /style=(\"|\').*?(mso-diagonal-down:.*?;).*?(\1)/ig;
var g_down = regex_down.exec(s);
var down ;
if (g_down)
{
down = g_down[2];
}
// 提取 mso-diagonal-up: 属性
regex_up = /style=(\"|\').*?(mso-diagonal-up:.*?;).*?(\1)/ig;
var g_up = regex_up.exec(s);
var up ;
if (g_up)
{
up = g_up[2];
} // 获取其他的属性
var regex = /(<TD[ ]*?style=(\"|\'))(.*?)((\2).*)/ig;
g = regex.exec(s);
var begin = g[1];
var end = g[4] ; if (down)
{
begin = begin + down
}
if (up)
{
begin = begin + up
}
result = begin + end;
} return result;
}
window.onload = function() {
var str = '<TD style="BORDER-RIGHT: windowtext 1pt solid;m:1; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 46.5pt; mso-diagonal-up: .5pt solid windowtext; msoborderalt: solid windowtext .5pt; mso-diagonal-down: .5pt solid windowtext; BORDER-TOP: windowtext 1pt solid; mso-diagonal-up: .5pt solid windowtext; PADDING-RIGHT: 5.4pt" vAlign=top width=116>' ;
var result = regp(str); if (result)
{
alert('获取最后的结果:' + result );
}
else
{
alert('不能够获取匹配');
}
}直接将代码放到 js 中进行执行即可。这里用了多个正则表达式,开始时准备用一个正则表达式,但实力有限,一个正则还要研究,所以就用了多个正则来处理。
学了这么久,总算亲自尝试了一下去写正则表达式。刚刚挣扎了一番,将多个正则表达式的处理改为了利用一个正则表达式来处理:
//去右空格;
function rtrim(s){
return s.replace( /\s*$/,"");
} // 适当调整字符串.
function fmt(str) {
// 获取 style 之间的所有内容
var srp = /(<TD[ ]*?style=(\"|\'))(.*?)((\2).*)/ig;
var g = srp.exec(str);
var result;
if (g)
{
var begin = g[1];
var s = g[3];
var end = g[4] ;
// 去除右边的空格!
s = rtrim(s);
// 在右边添加分号!
s = s + ';'; result = begin + s + end;
} return result;
}
function oneregep(str) {
var s = fmt(str);
var result;
if (s)
{
// 构造正则表达式
regex = /(<TD[ ]*?style=(\"|\'))((.*?(mso-diagonal-down:.*?;))|(.*(mso-diagonal-up:.*?;))){0,2}.*?(\2.*)/ig;
//regex = /(<TD[ ]*?style=(\"|\'))(.*?((mso-diagonal-down:.*?;)|(mso-diagonal-up:.*?;))){0,2}.*?(\2.*)/ig;
g = regex.exec(s); var begin = g[1];
var down = g[5];
var up = g[7];
var end = g[8] ;
if (down)
{
begin = begin + down;
}
if (up)
{
begin = begin + up;
}
result = begin + end;
}
return result;
}
window.onload = function() {
var str = '<TD style="BORDER-RIGHT: windowtext 1pt solid;m:1; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 46.5pt; mso-diagonal-up: .5pt solid windowtext; msoborderalt: solid windowtext .5pt; mso-diagonal-down: .5pt solid windowtext; BORDER-TOP: windowtext 1pt solid; mso-diagonal-up: .5pt solid windowtext; PADDING-RIGHT: 5.4pt" vAlign=top width=116>' ;
var result = oneregep(str); if (result)
{
alert('获取最后的结果:' + result );
}
else
{
alert('不能够获取匹配');
}
}
不过还是感谢楼上的