Anton Brass: Microsoft Word und wysiwyg

Habt ihr jemals versucht einen Text aus Word via Kopieren und Einfügen, in einen Online WYSIWYG Editor zu kopieren, der auf contentEditable=true basiert ?

Klar man sieht in seinem Eingabefeld den Text, den man auch in Word hatte, speichert man diesen dann allerdings in eine DB und betrachtet sich den Eintrag, so eröffnet sich einem das vollständige Spektrum proprietärer Schwachsinns Tags, die jeglichen sinnvollen Gebrauch verhindern.

Im Konkreten heisst das für mich:

  • Fügt man also Texte aus Word via Copy&Paste in den Online WYSIWYG Editor ein und speichert dieses, so weigert sich der Editor, die Inhalte nochmal zu laden und "verabschiedet" sich mit einem JavaScript Fehler.

Somit ist momentan die einzige Möglichkeit, die Texte aus Word direkt in die Webumgebung zu portieren, diese zunächst via Copy und Paste in den Windows Editor zu packen und dort erneut zu kopieren und erst dann in die Weboberfläche einzugeben.

Nun meine Frage: Was zum Henker kann ich dagegen tun. Das ist der größte Klopps, den sich MS bis dato in meinem Aufgabenfeld geleistet hat. Ich will doch nichts weiter aus Word kopieren, als den blanken Text.

  1. Hallo,

    ich habe ähnliche Probleme mit Word gehabt. Offensichtlich geht Windoof davon aus, dass es nur Windows-Programme gibt, denn diese scheinen die einzigen zu sein, die den komischen Quellcode von Word richtig interpretieren können. Eigentlich ist die Idee dahinter gar nicht so schlecht, ich glaube, was andere Programme nicht lesen können, sind Formatierungen, Schriftgröße, etc., die beim Kopieren automatisch übernommen werden.

    Allerdings vermisse ich das _sofort zu findende_(!) Häkchen: "formatierungen beim Kopieren nicht übernehmen". Also, ich glaube, du kannst nichts dagegen tun (außer nicht mehr mit Window$-Programmen zu arbeiten.

    LG, Mira

    Habt ihr jemals versucht einen Text aus Word via Kopieren und Einfügen, in einen Online WYSIWYG Editor zu kopieren, der auf contentEditable=true basiert ?

    Klar man sieht in seinem Eingabefeld den Text, den man auch in Word hatte, speichert man diesen dann allerdings in eine DB und betrachtet sich den Eintrag, so eröffnet sich einem das vollständige Spektrum proprietärer Schwachsinns Tags, die jeglichen sinnvollen Gebrauch verhindern.

    Im Konkreten heisst das für mich:

    • Fügt man also Texte aus Word via Copy&Paste in den Online WYSIWYG Editor ein und speichert dieses, so weigert sich der Editor, die Inhalte nochmal zu laden und "verabschiedet" sich mit einem JavaScript Fehler.

    Somit ist momentan die einzige Möglichkeit, die Texte aus Word direkt in die Webumgebung zu portieren, diese zunächst via Copy und Paste in den Windows Editor zu packen und dort erneut zu kopieren und erst dann in die Weboberfläche einzugeben.

    Nun meine Frage: Was zum Henker kann ich dagegen tun. Das ist der größte Klopps, den sich MS bis dato in meinem Aufgabenfeld geleistet hat. Ich will doch nichts weiter aus Word kopieren, als den blanken Text.

    1. Es ginge halt um eine Funktion, die die ganzen Tags aus reinkopierten Texten killt. Ich wüsste auch wie ich so ne Funktion aussehen müsste, nur klappt das Eventhandling nicht, da der FireFox z.B. onpaste net kennt.

      Am liebsten wäre mir aber ein WYSIWYG-Editor, der nur <b><i><u> erlaubt,  und alles andere beim kopieren schluckt.

      1. Hi,

        Es ginge halt um eine Funktion, die die ganzen Tags aus reinkopierten Texten killt. Ich wüsste auch wie ich so ne Funktion aussehen müsste, nur klappt das Eventhandling nicht, da der FireFox z.B. onpaste net kennt.

        Der FCKEditor hat ein PasteWord-Feature, das sowohl im FF als auch um IE funktioniert, und genau das tut, was du wünschst; der xinha-Editor (HTMLArea-Nachfolger) ebenfalls; bei tinyMCE weiß ichs nicht - kann mir aber kaum vorstellen, dass es da nicht auch etwas derartiges gäbe.

        Freundliche Grüße,
        Sancho

        1. Moin!

          Ja das Problem ist, ich will total bereinigten Code, da ich meinen Brnutzern nur die Möglichkeit bieten will einen Text fett, kursiv oder unterstriechen zu machen. Diese genannten Editoren übernehmen aber Listen, Tabellen usw. mit denen ich leider beim späteren PDF erstellen nichts mehr anfangen kann. Es wäre einfach zu komplex alles zu berücksichtigen.

          Gruß

          Anton

          1. Hi,

            Ja das Problem ist, ich will total bereinigten Code, da ich meinen Brnutzern nur die Möglichkeit bieten will einen Text fett, kursiv oder unterstriechen zu machen. Diese genannten Editoren übernehmen aber Listen, Tabellen usw. mit denen ich leider beim späteren PDF erstellen nichts mehr anfangen kann. Es wäre einfach zu komplex alles zu berücksichtigen.

            Dann downloade dir z.B. mal den FCKEditor (falls du's nicht schon hast) und sie dir mal diese Datei an. Du musst dann nur noch die Funktion CleanWord() nach deinem freien Ermessen so erweitern, dass sie deinen Wünschen entspricht
            (OS - LPGL).

            Freundliche Grüße,
            Sancho

            1. (OS - LPGL).

              Ups, kleiner Dreher - LGPL natürlich.

            2. Moin!

              Und wie rufe ich diese bei einfügen von kopierten Text auf?

              Gruß

              Anton

              1. Hi,

                Und wie rufe ich diese bei einfügen von kopierten Text auf?

                Erstmal downloaden, installieren, ein wenig in den Scripts lesen, die Anwendung zu begreifen versuchen etc.

                Dann stell deine Frage nochmal ;-)

                Die HTML-Datei aus dem CVS, die ich dir verlinkt habe, wird in das vom FCKEditor geöffneten Einfüge-Dialogfenster geladen und die darin enthaltene Textarea nimmt (im Firefox) generell alle einzufügenden Texte entgegen. Für den Fall, dass du dieses Fenster über den PasteWord-Befehl (Klick auf den entsprechenden Button, ev. auch Tastenkombination) geöffnet hast, durchläuft der Text, bevor er in den Editor eingefügt wird, den CleanWord-Filter - sprich: wird als Argument an die CleanWord()-Funktion übergeben. _Deren_ Rückgabewert wird in den Editortext übernommen. Über die regulären Ausdrücke in der Funktion werden dabei alle MSOffice-proprietären Attribute entfernt.

                _Mehr_ zu entfernen liegt an dir - schreibe die Funktion um, falls du den FCKEditor verwenden willst.

                Oder verwende die Idee mit dem Zusatz-Dialogfenster im Firefox für deine eigene Funktion.

                Die von dir gesuchten browserübergreifenden Entsprechnungen für _browserspezifische_ Events sind nunmal ohne 'Brücken' nicht zu haben. Das ist zwar lästig - aber so isset numa.

                Freundliche Grüße,
                Sancho

      2. Am liebsten wäre mir aber ein WYSIWYG-Editor, der nur <b><i><u> erlaubt,  und alles andere beim kopieren schluckt.

        Dass sind Tags die nicht mehr erwünscht sind, da sie das aussehen von Elementen beschreiben, dass sollte aber Aufgabe von CSS sein. Stattdessen verwendet man besser strong, em (bei u kommt es darauf an was du ausdrücken willst mit diesem Tag).

        Struppi.

        --
        Javascript ist toll (Perl auch!)
  2. Das ja lustig, da hat doch schonmal GENAU und ich betone GENAU die selbe Frgae gestellt, zwar schon vor ca. 2 Jahren, aber GEANAU die selbe Frage...
    http://www.tutorials.de/forum/html/145129-microsoft-word-wysiwyg-und-das-geheimnis-der-unsichtbaren-magie-html-tags.html
    Jetzt werden hier schon Fragen per Copy&Paste gestellt.

    1. Servus Jan.

      Jop, ich bin schuldig des kopierens.
      Finde er hats da relativ gut auf den Punkt gebracht, so dass es auch jeder versteht. Leider war der Post schon so alt, dass ein Antworten darauf sinnlos ist, deswegen poste ich es hier und warte auf gute antworten. Deine ist keine ;)

      Gruß

      Anton

      1. Lieber Anton,

        deswegen poste ich es hier und warte auf gute antworten. Deine ist keine ;)

        .. und wenn Du schon austeilst: Dein Posting fällt eigentlich unter die Kategorie Doppelposting!

        Liebe Grüße aus Ellwangen,

        Felix Riesterer.

        1. Hallo Felix,

          deswegen poste ich es hier und warte auf gute antworten. Deine ist keine ;)
          .. und wenn Du schon austeilst: Dein Posting fällt eigentlich unter die Kategorie Doppelposting!

          Das hatte ich ganz übersehen - na, nu haben wir den doppelten Salat ;)

          Aber das es in tinyMCE ein Insert-From-Word-Plugin gibt, freut mich, da ich den eigentlich schon immer mal erkunden wollte.

          Freundliche Grüße,
          Sancho

          1. Lieber Sancho,

            Aber das es in tinyMCE ein Insert-From-Word-Plugin gibt, freut mich, da ich den eigentlich schon immer mal erkunden wollte.

            kaum ein DAU wird dieses spezielle Plugin nutzen, da er/sie einfach per Rechtsklick->Einfügen oder per [STRG]+[V] einfügen wird. Welchen Unterschied die Einfüge-Icons haben, wird wohl kaum interessieren - im Zweifelsfall nimmt ein DAU eben das, was er kennt (also das "normale" Einfüge-Icon) und umgeht das Plugin.

            Ich habe mir noch nicht die Mühe gemacht, aber vielleicht gibt es im TinyMCE eine Art Eventhandler "onInsert", der im Editor die Einfüge-Operation abfängt, um das Einzufügende erst vorzubehandeln... Wenn ich einmal zuviel Zeit habe, dann kümmere ich mich darum.

            Liebe Grüße aus Ellwangen,

            Felix Riesterer.