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

该博客展示了一段HTML代码,实现了从剪贴板获取HTML内容并清理格式的功能。包含获取剪贴板HTML、清理HTML中特定标签和属性、判断内容来源(如Word、Excel)等函数,最后将清理后的内容显示在文本框中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!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 &nbsp;
html = html.replace(/&nbsp;/, " " );
// 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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值