Schalten Sie umschließenden <p> -Tags in CKEditor 3.0

stimmen
56

Gibt es eine Möglichkeit, die automatischen umschließenden aller schriftlichen Inhalte innerhalb von <p> </ p> in CKEditor 3.x auszuschalten?

Ich habe es versucht

  CKEDITOR.config.enterMode = CKEDITOR.ENTER_BR;

aber dies ändert sich nur die Inline-Zeilenumbrüche <br /> während der umschließenden Absatz zu verlassen.

Derzeit „Test“ Schreiben erzeugt diese Ausgabe

<p>
    Test</p>

aber ich will es einfach sein

Test

Gibt es eine Konfigurationseigenschaft für diesen oder wäre ein weiterer Inline-Editor besser dafür geeignet zu sein?

Veröffentlicht am 29/12/2009 um 23:28
quelle vom benutzer
In anderen Sprachen...                            


11 antworten

stimmen
2

Ich mache etwas, was ich nicht als Problem zu umgehen stolz bin. In meinem Python Servlet, das auf die Datenbank tatsächlich spart, ich tun:

if description.startswith('<p>') and description.endswith('</p>'):
    description = description[3:-4]
Beantwortet am 05/03/2010 um 21:53
quelle vom benutzer

stimmen
73

CKEDITOR.config.enterMode = CKEDITOR.ENTER_BR;- das funktioniert perfekt für mich. Haben Sie versucht, Ihren Browser - Cache zu löschen - das ist manchmal ein Problem.
Sie können es auch mit dem jQuery - Adapter finden Sie unter :

<script type="text/javascript" src="/js/ckeditor/ckeditor.js"></script>
<script type="text/javascript" src="/js/ckeditor/adapters/jquery.js"></script>
<script type="text/javascript">
$(function() {
    $('#your_textarea').ckeditor({
        toolbar: 'Full',
        enterMode : CKEDITOR.ENTER_BR,
        shiftEnterMode: CKEDITOR.ENTER_P
    });
});
</script>


UPDATE nach @ Tomkay Kommentar:

Seit der Version 3.6 von CKEditor können Sie konfigurieren , wenn Sie Inline - Inhalt soll automatisch mit Tags wie gewickelt werden <p></p>. Das ist die richtige Einstellung:

CKEDITOR.config.autoParagraph = false;

Quelle: http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html#.autoParagraph

Beantwortet am 21/04/2010 um 14:10
quelle vom benutzer

stimmen
1
if (substr_count($this->content,'<p>') == 1)
{
  $this->content = preg_replace('/<\/?p>/i', '', $this->content);
}
Beantwortet am 16/06/2010 um 14:36
quelle vom benutzer

stimmen
5

Fand es!

ckeditor.js line # 91 ... Suche nach

B.config.enterMode==3?'div':'p'

ändern

B.config.enterMode==3?'div':'' (NO P!)

Dump Cache und BAM!

Beantwortet am 07/01/2011 um 22:42
quelle vom benutzer

stimmen
9

Versuchen Sie, diese in config.js

CKEDITOR.editorConfig = function( config )
{
config.enterMode = CKEDITOR.ENTER_BR;
config.shiftEnterMode = CKEDITOR.ENTER_BR;
};
Beantwortet am 07/03/2011 um 12:51
quelle vom benutzer

stimmen
32

Über das Internet haben die Menschen bemerkt, dass config.enterMode zu CKEDITOR.ENTER_BR Einstellung der Verpackung Absatz-Tags von CKEditor entfernt. Es ist erwähnenswert, dass die Einstellung des Verhaltens der Enter-Taste ändert Zeilenumbrüche statt Absätze einfügen, was nicht erwünscht ist.

Siehe: http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html#.enterMode „Es wird empfohlen, die CKEDITOR.ENTER_P Einstellung zu verwenden , wegen seiner semantischen Wert und Richtigkeit.“

Die Einstellung jedoch, dass dieser anfänglichen Absatz zu entfernen , ist so konzipiert, config.autoParagraph, ist auch nicht ratsam, da es „unberechenbar Usability - Probleme“ führt , da der Editor wirklich ein Top-Level - Blockelement will.

Siehe: http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html#.autoParagraph

Die Magie geschieht auf wysiwygarea / plugin.js, Linie 410, wo der Editor das Standard-Blockelement auf config.enterMode basierend auswählt. Eine Konfigurationsoption auf das Element Standardblock ändert uns mit einem div zu starten erlauben würde, aber wir würden weiterhin mehr divs immer mit jedem drücken Sie die Eingabetaste, wenn wir das Absatzformat über das Menü geändert.

Siehe: http://docs.cksource.com/ckeditor_api/symbols/src/plugins_wysiwygarea_plugin.js.html

Es wäre möglich, die Verpackung Absatz-Tag mit Post-Processing (entweder auf dem Server oder in CKEditor der getData Ereignisse) zu entfernen, aber das führt uns in das gleiche Problem wie autoParagraph deaktivieren: Es gibt keinen Top-Level-Block.

Ich würde eher sagen, dass es keine gute Lösung, sondern eine Handvoll halb Lösungen, als config.enterMode als kanonische Lösung zu akzeptieren, zu verändern.

Beantwortet am 06/01/2012 um 14:57
quelle vom benutzer

stimmen
1

Bearbeiten Sie die Quelle (oder deaktivieren Sie Rich-Text) und ersetzen Sie die p-Tag mit einem div. Dann Stil, um die div jede welche Art und Weise Sie wollen.

CKEditor fügt keine Wrapper-Element auf der nächsten einreichen, wie Sie die div in dort haben.

(Dies löste mein Problem, ich bin mit Drupal und muß kleine Schnipsel von HTML, die der Editor immer die extra hinzugefügt, aber der Rest der Zeit will ich die Verpackung p-Tag).

Beantwortet am 13/12/2012 um 10:07
quelle vom benutzer

stimmen
1

Machen Sie diese Ihre config.js Datei Code

CKEDITOR.editorConfig = function( config ) {

   //   config.enterMode = 2; //disabled <p> completely
        config.enterMode = CKEDITOR.ENTER_BR // pressing the ENTER KEY input <br/>
        config.shiftEnterMode = CKEDITOR.ENTER_P; //pressing the SHIFT + ENTER KEYS input <p>
        config.autoParagraph = false; // stops automatic insertion of <p> on focus
    };
Beantwortet am 28/04/2015 um 01:36
quelle vom benutzer

stimmen
3

Machen Sie diese Ihre config.js Datei Code

CKEDITOR.editorConfig = function( config ) {

   //   config.enterMode = 2; //disabled <p> completely
        config.enterMode = CKEDITOR.ENTER_BR // pressing the ENTER KEY input <br/>
        config.shiftEnterMode = CKEDITOR.ENTER_P; //pressing the SHIFT + ENTER KEYS input <p>
        config.autoParagraph = false; // stops automatic insertion of <p> on focus
    };
Beantwortet am 28/04/2015 um 02:02
quelle vom benutzer

stimmen
0

Stellen Sie eine solche config:

    CKEDITOR.config.enterMode = CKEDITOR.ENTER_BR
    CKEDITOR.config.forcePasteAsPlainText = true
Beantwortet am 22/08/2017 um 12:07
quelle vom benutzer

stimmen
-1

In VS2015 arbeitete dies die Enter-Taste in drehen <br>

myCKEControl.EnterMode = CKEditor.NET.EnterMode.BR

Persönlich ist mir egal, wenn mein resultierende Text nur hat <br>und nicht <p>. Es macht völlig in Ordnung , und es sieht so , wie ich es will. Am Ende, es funktioniert.

Beantwortet am 15/09/2017 um 12:37
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more