以下为代码:
<!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, "") ;
// 替换
html = html.replace(/ /, " " );
// 将<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="从裁剪板粘贴" οnclick="Paste()">
<input type=button value=运行代码 οnclick=runCode(my.value)>
<input type="button" value="从结果框复制到裁剪板" οnclick="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源码,按“运行代码”可以大致看效果,按“从结果框复制到裁剪板”按钮后,即可保存到裁切板。