Вы можете ограничить теги, которые вставляет CKEditor, изменив настройки конфигурации.
Я написал обзор того, почему теги вставляются в определенных случаях, и объяснил использование двух параметров конфигурации в ответе на этот пост:
Как настроить ckeditor, чтобы не переносить содержимое в блок ?
Ответ охватывает не только предотвращение <p>
. блок от вставки.
Я объяснил две настройки: config.enterMode
и config.autoParagraph
.
config.enterMode
определяет, будет ли содержимое переноситься и по какому тегу.
config.autoParagraph
определяет, будут ли встроенные элементы, такие как "span", автоматически оборачиваться в элемент блока.
См. Этот пост для более подробной информации.
Я указал еще несколько настроек, но не описал их. Я опишу их здесь.
config.shiftEnterMode
имеет те же параметры и использование, что и config.enterMode
.
config.fillEmptyBlocks
определяет, вставляется ли неразрывный символьный объект (
) в пустые элементы блока. Помимо установки значения true или false, вы можете установить функцию, возвращающую true или false.
config.forceEnterMode
приведет к тому, что тег, назначенный в настройке config.enterMode
, будет использоваться при наличии новой строки независимо от контекста. Поэтому, если <div>
является тегом, назначенным в режиме ввода, и вы находитесь в теге <p>
, новая строка приведет к вставке <div>
в <p>
.
config.ignoreEmptyParagraph
при значении true, которое является значением по умолчанию, он говорит, что если в области содержимого нет содержимого, кроме пустого абзаца, редактор должен вернуть пустое значение, а не пустой тег <p></p>
.
Как заметил Даймон, есть настройка config.fullPage
. Он используется для указания того, представляет ли содержимое редактора полный HTML-документ:
<html><head></head><body></body></html>
или блок HTML-кода, как это обычно бывает.
Все настройки конфигурации описаны здесь:
http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html