[分享]分享一个东东,将复制word中内容中的垃圾代码自动去掉

yangzixp 2005-07-04 03:31:16
改做.net,好久没回ASP来看看了,分享一个东东给asp的朋友们

功能:将复制word中内容中的垃圾代码自动去掉


代码如下:
<!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>
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 )
{
// Remove all SPAN tags
html = html.replace(/<\/?SPAN[^>]*>/gi, "" );
// Remove Class attributes
html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;
// Remove Style attributes
html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ;
// Remove Lang attributes
html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;
// Remove XML elements and declarations
html = html.replace(/<\\?\?xml[^>]*>/gi, "") ;
// Remove Tags with XML namespace declarations: <o:p></o:p>
html = html.replace(/<\/?\w+:[^>]*>/gi, "") ;
// Replace the  
html = html.replace(/ /, " " );
// Transform <P> to <DIV>
var re = new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi") ; // Different because of a IE 5.0 error
html = html.replace( re, "<div$2</div>" ) ;

//insertHtml( html ) ;

return html;
}

function Paste()
{

Form1.my.value = cleanAndPaste(GetClipboardHTML());
}
</script>
<Form id="Form1" name="Form1">
<input type="button" value="paste" onclick="Paste()">
<br>
<br>
<textarea name="my" cols="60" rows="10"></textarea>
<DIV id=divTemp
style="VISIBILITY: hidden; OVERFLOW: hidden; WIDTH: 1px; POSITION: absolute; HEIGHT: 1px"></DIV>
</Form>
</BODY>
</HTML>

...全文
196 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
QQgenie 2005-07-05
  • 打赏
  • 举报
回复
看来不错!
riyao 2005-07-05
  • 打赏
  • 举报
回复
支持一下楼主的说..
游陆 2005-07-05
  • 打赏
  • 举报
回复
谢谢!
hthunter 2005-07-04
  • 打赏
  • 举报
回复
up
yangzixp 2005-07-04
  • 打赏
  • 举报
回复
完善一下,加个友好提示:

<!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>
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 )
{
// Remove all SPAN tags
html = html.replace(/<\/?SPAN[^>]*>/gi, "" );
// Remove Class attributes
html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;
// Remove Style attributes
html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ;
// Remove Lang attributes
html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;
// Remove XML elements and declarations
html = html.replace(/<\\?\?xml[^>]*>/gi, "") ;
// Remove Tags with XML namespace declarations: <o:p></o:p>
html = html.replace(/<\/?\w+:[^>]*>/gi, "") ;
// Replace the  
html = html.replace(/ /, " " );
// Transform <P> to <DIV>
var re = new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi") ; // Different because of a IE 5.0 error
html = html.replace( re, "<div$2</div>" ) ;

//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 ) ;
}
</script>
<Form id="Form1" name="Form1">
<input type="button" value="paste" onclick="Paste()">
<br>
<br>
<textarea name="my" cols="60" rows="10"></textarea>
<DIV id=divTemp
style="VISIBILITY: hidden; OVERFLOW: hidden; WIDTH: 1px; POSITION: absolute; HEIGHT: 1px"></DIV>
</Form>
</BODY>
</HTML>
yangzixp 2005-07-04
  • 打赏
  • 举报
回复
居然没有人顶?
davs 2005-07-04
  • 打赏
  • 举报
回复
好,收藏啦!谢谢好心的楼主!
madpolice 2005-07-04
  • 打赏
  • 举报
回复
好东西,稍后研究!
AppleBBS 2005-07-04
  • 打赏
  • 举报
回复
好咚咚一个
zysoft17 2005-07-04
  • 打赏
  • 举报
回复
收藏!

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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