清理WORD產生的HTML的指令碼
來源:互聯網
上載者:User
代碼如下:
<script language="javascript"><br /><!--<br />function cleanWordHtml(html)<br />{<br />// Remove all SPAN tags<br />html = html.replace(/<\/?SPAN[^>]*>/gi, "");<br />// Remove Class attributes<br />html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;<br />// Remove Style attributes<br />html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ;<br />// Remove Lang attributes<br />html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;<br />// Remove XML elements and declarations<br />html = html.replace(/<\\?\?xml[^>]*>/gi, "") ;<br />// Remove Tags with XML namespace declarations: <o:p></o:p><br />html = html.replace(/<\/?\w+:[^>]*>/gi, "") ;<br />// Replace the <br />html = html.replace(/ /, " " );<br />// Transform <P> to <DIV><br />var re = new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi") ; // Different because of a IE 5.0 error<br />html = html.replace( re, "<div$2</div>");<br />return html;<br />}<br />//--><br /></script><br /><p align="center"><br />清理前HTML代碼:<br /><br /><textarea name="BeforeClean" rows="11" cols="55"><P>test</P><br /><P> <br /><TABLE class=MsoNormalTable style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN-LEFT: 6.75pt; BORDER-LEFT: medium none; MARGIN-RIGHT: 6.75pt; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid windowtext .5pt; mso-table-lspace: 9.0pt; mso-table-rspace: 9.0pt; mso-table-anchor-vertical: paragraph; mso-table-anchor-horizontal: column; mso-table-left: -21.6pt; mso-table-top: 76.05pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellSpacing=0 cellPadding=0 align=left border=1><br /><TBODY><br /><TR style="HEIGHT: 46pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"><br /><TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 144pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 46pt; mso-border-alt: solid windowtext .5pt" vAlign=top width=192><br /><P class=MsoNormal style="mso-element: frame; mso-element-frame-hspace: 9.0pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: column; mso-element-left: -21.55pt; mso-element-top: 76.05pt; mso-height-rule: exactly"><SPAN lang=EN-US style="FONT-SIZE: 14pt">aaaaaaaa<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P></TD><br /><TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 99pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 46pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=132><br /><P class=MsoNormal style="mso-element: frame; mso-element-frame-hspace: 9.0pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: column; mso-element-left: -21.55pt; mso-element-top: 76.05pt; mso-height-rule: exactly"><SPAN lang=EN-US style="FONT-SIZE: 14pt">bbbbbbbbbb<o:p></o:p></SPAN></P></TD><br /><TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 135pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 46pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=180><br /><P class=MsoNormal style="mso-element: frame; mso-element-frame-hspace: 9.0pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: column; mso-element-left: -21.55pt; mso-element-top: 76.05pt; mso-height-rule: exactly"><SPAN lang=EN-US style="FONT-SIZE: 14pt">cccccccccc<o:p></o:p></SPAN></P></TD></TR><br /><TR style="HEIGHT: 46pt; mso-yfti-irow: 1; mso-yfti-lastrow: yes"><br /><TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 144pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 46pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=192><br /><P class=MsoNormal style="mso-element: frame; mso-element-frame-hspace: 9.0pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: column; mso-element-left: -21.55pt; mso-element-top: 76.05pt; mso-height-rule: exactly"><SPAN lang=EN-US style="FONT-SIZE: 14pt">dddddddddd<o:p></o:p></SPAN></P></TD><br /><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: 99pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 46pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=132><br /><P class=MsoNormal style="mso-element: frame; mso-element-frame-hspace: 9.0pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: column; mso-element-left: -21.55pt; mso-element-top: 76.05pt; mso-height-rule: exactly"><SPAN lang=EN-US style="FONT-SIZE: 14pt">eeeeeeeeee<o:p></o:p></SPAN></P></TD><br /><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: 135pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 46pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=180><br /><P class=MsoNormal style="mso-elem:)ent: frame; mso-element-frame-hspace: 9.0pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: column; mso-element-left: -21.55pt; mso-element-top: 76.05pt; mso-height-rule: exactly"><SPAN lang=EN-US style="FONT-SIZE: 14pt">fffffffffff<o:p></o:p></SPAN></P></TD></TR></TBODY></TABLE></P></textarea><br /><br />清理後HTML代碼:<br /><br /><textarea name="AfterClean" rows="11" cols="55"></textarea><br /><br /><br /><input type="button" name="Clean" value="Clean" onclick="AfterClean.value=cleanWordHtml(BeforeClean.value);"><br /></p>
[Ctrl+A 全選 提示:你可先修改部分代碼,再點運行代碼]