Avatar billede moejensen Nybegynder
23. april 2004 - 20:58 Der er 4 kommentarer og
1 løsning

problemer med gem fra iframe i WYSIWYG editor

Jeg har lavet en lille WYSIWYG editor. Når jeg skal gemme indholdet bruger jeg følgende:

  function doSave()
  {
      var HTMLcode = stripCode(iView.document.body.innerHTML);
        window.location = 'KeKaCMS_editor.asp?htmlCode=' + HTMLcode;
  }

    function stripCode(sHTML) {
      sHTML = sHTML.replace("class=MsoNormal", "");
      sHTML = sHTML.replace("className", "");
      sHTML = sHTML.replace("style", "");
      sHTML = sHTML.replace(/<?xml:[^>]*\/>/gi, "");
      sHTML = sHTML.replace(/<?xml:[^>]*\/>/gi, "");
        sHTML = sHTML.replace(/<o:p>/gi, "")
        sHTML = sHTML.replace(/<\/o:p>/gi, "")
        sHTML = sHTML.replace(/<I[^>]*\>/gi, "<I>");
        sHTML = sHTML.replace(/<B[^>]*\>/gi, "<B>");
      return  sHTML;
    }

Det virker normalt fint, men hvis jeg paster en tabel fra word ind, så er det som om der mangler en stor del af koden.
et eksempel:

Således ser koden ud inden jeg gemmer i min WYSIWYG editor (eksemplet er lavet uden om enhver form for rensning af koden):

<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; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">
<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: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" vAlign=top width=326>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><FONT face="Times New Roman">Celle 1<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></FONT></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: #ece9d8; WIDTH: 244.45pt; 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=326>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><FONT face="Times New Roman">Celle 2<o:p></o:p></FONT></FONT></P></TD></TR></TBODY></TABLE></P>


-----------------------------------------------


Hvis jeg åbner siden efter at have gemt (altså hiver det ud af databasen der er gemt, får jeg følgende:)

<P>
<TABLE class=MsoTableGrid cellSpacing=0 cellPadding=0 border=1 ="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">
<TBODY>
<TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">
<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: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" vAlign=top width=326>
<P style="MARGIN: 0cm 0cm 0pt"><FONT size=3><FONT face="Times New Roman">Celle 1<?</FONT></FONT></P></FONT></TD>&lt;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: </TR></TBODY></P>

Her i nogen forklaring?
Avatar billede cpufan Juniormester
23. april 2004 - 22:38 #1
den brokker åbenbart over tegnet #
Avatar billede moejensen Nybegynder
24. april 2004 - 07:30 #2
det er meget muligt.

Er der en bedre måde hvorpå jeg kan overføre indholdet fra i framen til den funktion der gemmer det i databasen?

Er der nogen begrænsning for hvor lang en query string kan være i urlen?
Avatar billede cpufan Juniormester
24. april 2004 - 12:57 #3
ja der er begrænsing på querystring, kender dog ikke grænsen.
kan du ikke overføre det via post istedet for get.
Avatar billede moejensen Nybegynder
25. april 2004 - 00:54 #4
jeg bruger hvergen post eller get nu, men querystring ;-)
Avatar billede moejensen Nybegynder
18. juni 2004 - 12:27 #5
intet brugbart. spg lukkes
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester