Nicht-HTML-Text von CKeditor erhalten

8

In meiner Anwendung verwende ich im Abschnitt Nachrichten einfügen eine Unterfolge von Nachrichteninhalt für Nachrichtenzusammenfassung. Um Nachrichteninhalte von Benutzern zu bekommen, verwende ich CKEditor und für die Nachrichtenzusammenfassung benutze ich die Substring-Methode, um eine bestimmte Länge von Nachrichteninhalt zu erhalten. Aber wenn ich mit CKEditor arbeite, erhalte ich Text mit HTML-Tags und nicht einfachem Text und wenn ich benutze Teilstring-Methode, meine News-Zusammenfassung wird durcheinander gebracht! Wie bekomme ich rohen Text von diesem Steuerelement? Ich lese dies , kann aber die Methode getText () nicht verwenden

    
ozzy_mra 15.10.2012, 12:34
quelle

6 Antworten

10

mach es so

%Vor%

Viola, nimm den Teil von plain_text, den du willst.

UPDATE / BEISPIEL

füge dieses Javascript hinzu

%Vor%

Fügen Sie in Ihrem HTML createTextSnippet als onsubmit-handler zum Formular hinzu, zB

%Vor%

innerhalb des Formulars zwischen <form> und </form> einfügen

%Vor%

Wenn das Formular abgeschickt wird, können Sie den Zugriff auf hidden_snippet serverseitig mit den übrigen Feldern im Formular verbinden.

    
davidkonrad 15.10.2012, 12:55
quelle
14

Versuchen Sie es wie folgt:

%Vor%

Es funktioniert gut für mich. Sie können es auf Ссылка testen. Es ist nicht ideal (Text in Tabellenzellen wird ohne Leerzeichen zusammengefügt), aber möglicherweise genug für Ihre Bedürfnisse.

BEARBEITEN (20. Dez. 2017): Die CKEditor 4-Demo wurde nach Ссылка verschoben und verwendet verschiedene Editornamen, so dass der neue Code ausgeführt wird:

%Vor%

Es ist auch wichtig, dass es im "Artikeleditor" funktioniert und im "Inline-Editor" müssen Sie Text eines anderen Elements erhalten:

%Vor%     
Reinmar 15.10.2012 12:48
quelle
2

Ich habe diese Funktion verwendet:

%Vor%

Funktionsaufruf:

%Vor%

Ich habe diese Geige zum Testen erstellt: Ссылка

    
Adil Malik 07.03.2013 16:12
quelle
0

Ich benutze diese Methode (brauche jQuery):

%Vor%

hoffe es hilft!

    
Cyril Jacquart 02.03.2016 19:07
quelle
0

ich persönlich benutze diese Methode, um den Code zu verdichten und auch doppelte Leerzeichen und Zeilenvorschübe zu entfernen:

%Vor%     
Hart 22.12.2016 20:10
quelle
0

Nehmen Sie an, dass editor Ihre CKEditor-Instanz ist ( CKEditor.instances.editor1 von obigem Beispiel oder wenn Sie Ereignisse verwenden, dann event.editor ). Sie können den folgenden Code verwenden, um reinen Textinhalt zu erhalten.

editor.ui.contentsElement.getChild(0).getText()

Anscheinend fügt CKEditor dem tatsächlich editierbaren Inhalt ein Element "Voice Label" hinzu. Daher getChild(0) .

    
zendu 19.12.2017 12:45
quelle

Tags und Links