`
duoerbasilu
  • 浏览: 1483410 次
文章分类
社区版块
存档分类
最新评论

去除烦人的WORD及EXCEL冗余代码(Javascript)

 
阅读更多

以下为代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>去除烦人的WORD及EXCEL冗余代码(Javascript)</TITLE>
</HEAD>

<BODY>
<script>
function GetClipboardHTML()
{
var oDiv = document.getElementById("divTemp")
oDiv.innerHTML = "" ;

var oTextRange = document.body.createTextRange() ;
oTextRange.moveToElementText(oDiv) ;
oTextRange.execCommand("Paste") ;

var sData = oDiv.innerHTML ;
oDiv.innerHTML = "" ;

return sData ;
}


function cleanAndPaste( html )
{
// SPAN
html = html.replace(/<//?SPAN[^>]*>/gi, "" );
// Class
html = html.replace(/<(/w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;
// Style
html = html.replace(/<(/w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ;
// Lang
html = html.replace(/<(/w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;
// XML元素及声明
html = html.replace(/<//?/?xml[^>]*>/gi, "") ;
// 带XML名称空间声明: <o:p></o:p>
html = html.replace(/<//?/w+:[^>]*>/gi, "") ;
// 替换&nbsp;
html = html.replace(/&nbsp;/, " " );
// 将<P>换成<DIV>
var re = new RegExp("(<P)([^>]*>.*?)(<//P>)","gi") ;// Different because of a IE 5.0 error
html = html.replace( re, "<div$2</div>" ) ;

// 根据需要调整表格高度、居中等(可去掉)
html = html.replace(/(<T[RD])(/s*)(HEIGHT=[/"/']?/d+[/"/']?)/gi, "$1");
html = html.replace(/(<table)([^>]*?)x:str>/gi, "$1$2align='center'>");
html = html.replace(/(<TD)/s*([^>]*?)(width=[/"/']?/d+[/"/']?)([^>]*?)(>)/gi, "$1$2$4$5");

// 去除x:num
html = html.replace(/(/s*x:num(=[/"/']/d+")?)(>)/gi, "$3");

//insertHtml( html ) ;

//return html;

Form1.my.value = html;
}

function Paste()
{
var sHTML = GetClipboardHTML() ;

var re = /</w[^>]* class="?MsoNormal"?/gi ;
var re2 = /</w[^>]* class="?xl"?/gi ;

/* 提示信息
if ( re.test( sHTML ) )
{
alert("您要粘贴的内容好像是来自 MS Word,系统将清除 MS Word 格式后再粘贴!")
}

if ( re2.test( sHTML ) )
{
alert("您要粘贴的内容好像是来自 MS Excel,系统将清除 MS Excel 格式后再粘贴!")
}
*/
cleanAndPaste( sHTML ) ;
}

function runCode(code)
{
var pop=window.open("","_blank");
pop.document.writeln(code);
pop.location.reload();
}


function Copy()
{
document.getElementById("my").select();
document.execCommand('Copy');
}

</script>
<Form id="Form1" name="Form1">
<input type="button" value="从裁剪板粘贴" onclick="Paste()">
<input type=button value=运行代码 onclick=runCode(my.value)>
<input type="button" value="从结果框复制到裁剪板" onclick="Copy()">

<br/>
<br/>
<textarea name="my" id="my" cols="60" rows="20"></textarea>
<DIV id=divTemp style="VISIBILITY: hidden; OVERFLOW: hidden; WIDTH: 1px; POSITION: absolute; HEIGHT: 1px"></DIV>
</Form>
</BODY>
</HTML>

//---- 代码结束-------

使用方法:

将上述代码COPY到记事本,保存为.htm文件,用浏览器打开,然后在WORD或EXCEL 复制相关的内容,按“从裁剪板粘贴”按钮,下面代码区即为去除冗余代码后的HTML源码,按“运行代码”可以大致看效果,按“从结果框复制到裁剪板”按钮后,即可保存到裁切板。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics