replace samt regReplace som fejler
jeg prøver igen igen at lave en rensword-cleaner....Men igen, er javascript ikke min stærke side, så jeg er sgu gået i stå.. Kan slet ikke se mig ud af det...
Alle (eller ihvertfald de fleste) skodtags som word laver, når man paster tekst ind i en wysiwyg editor skal jeg have strippet bedst muligt...
jeg er kommet frem til dette indtil videre, men scriptet fejler hele tiden, når man kører det:
var rensHTML = frames.editor.document.body.innerHTML
rensHTML = rensHTML.replace(/class=MsoNormal/gi, "");
rensHTML = rensHTML.replace(/<p>/gi, "<div>");
rensHTML = rensHTML.replace(/<\/p>/gi, "<\/div>");
rensHTML = rensHTML.replace(/<\ST1[^>]*\>/gi, "");
rensHTML = rensHTML.replace(/<\/ST1[^>]*\>/gi, "");
rensHTML = rensHTML.replace(/<img/gi, "<img border=0 ");
rensHTML = rensHTML.replace(/<o:p>/gi, "");
rensHTML = rensHTML.replace(/<\/o:p>/gi, "");
rensHTML = rensHTML.regReplace("<[/]{0,1}[ ]*(body|html|v:.*?)[ ]*>", "", rensHTML);
rensHTML = rensHTML.regReplace("<\\?xml.*?/>/gi", "", rensHTML);
rensHTML = rensHTML.regReplace("<!DOCTYPE.*?<body[^>]*>", "", rensHTML);
frames.editor.document.body.innerHTML = rensHTML;
Eksempel på den kode fra word som jeg arbejder med pt:
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">Gdffgg</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">Df</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">Gfd<FONT color=#ff6633>dfgd<FONT style="BACKGROUND-COLOR: #660033">sfsfsfsf</FONT></FONT><FONT style="BACKGROUND-COLOR: #660033">g</FONT> e ghg ffgh</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes"> </SPAN>Fg</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes"> </SPAN>H</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">Fgh rthtrh rt hørtklhktrw</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">Lgåhk</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">Sflhmdfæh,lfdhwrt</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">Hrt</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p> </o:p></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">Dette er en <U>test<FONT color=#6699ff> side</FONT></U> af de forskellige styles som <SPAN style="FONT-SIZE: 10pt">skodword klavewr….</SPAN> *Detkæhgdf</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p> </o:p></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p> </o:p></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">Bhfgjklæghdf</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">¨hftkælhdfkæhlrkåpherå</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">¨tywey</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">¨rtyhrthtr ,hrt ,mhfggh sdf g,mwer <I style="mso-bidi-font-style: normal"><SPAN style="FONT-SIZE: 24pt">rfqfd, gsrtm</SPAN></I>, ghgerm, ym,4,m n,m<SPAN style="mso-tab-count: 1"> </SPAN><SPAN style="mso-tab-count: 1"> </SPAN>ng,.gdfnmh.fgbmælfkdmhæwrlmæyl ew klghterlæk yælwkg jlksdr gelkjtewojtopewjgopwe<B style="mso-bidi-font-weight: normal"><I style="mso-bidi-font-style: normal">roipjtpoi5</I></B>wji tpow35¨kp totqwj tpj gwetklwægj kshgoisdhyoiåkg wkløej yøow34jyøå 35jn <B style="mso-bidi-font-weight: normal"><I style="mso-bidi-font-style: normal"><U><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Arial Unicode MS'">tæwkl4qh øty62qjøppt</SPAN></U></I></B> op34quj 6tt93q4tui9045uiy</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">g rt</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">gstå¨phwtr ¨åhrt</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">bhtfsjklksfthkoostfhtkåphs r</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p> </o:p></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">htr </P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">rhtt</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p> </o:p></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p> </o:p></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">hrstælæhtejkoph strø pæ kpshtfkåphdfkpå</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p> </o:p></P>
<TABLE class=MsoTableGrid style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; 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 border=1>
<TBODY>
<TR style="mso-yfti-irow: 0">
<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: 122.2pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" vAlign=top width=163>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p> </o:p></P></TD>
<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: #d4d0c8; WIDTH: 122.2pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=163>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">fdsfsd</P></TD>
<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: #d4d0c8; WIDTH: 122.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=163>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p> </o:p></P></TD>
<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: #d4d0c8; WIDTH: 122.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=163>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p> </o:p></P></TD></TR>
<TR style="mso-yfti-irow: 1">
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 122.2pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=163>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p> </o:p></P></TD>
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 122.2pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=163>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p> </o:p></P></TD>
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 122.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=163>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p> </o:p></P></TD>
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 122.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=163>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">fd<B style="mso-bidi-font-weight: normal">sf</B>sd</P></TD></TR>
<TR style="mso-yfti-irow: 2; mso-yfti-lastrow: yes">
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 122.2pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=163>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p> </o:p></P></TD>
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 122.2pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=163>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">dsf</P></TD>
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 122.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=163>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p> </o:p></P></TD>
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 122.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=163>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p> </o:p></P></TD></TR></TBODY></TABLE>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">dfsdfsddsfs</P>
