Разрывы строки в редакторе TinyMCE показывают дополнительную строку на предварительном просмотре, не в коде

Я использую плагин BBCode с TinyMCE и вижу, что разрывы строки не показывают то же между предварительным просмотром и HTML-кодом.

У меня есть следующие строки в окне редактора:

This is line one

This is line three

Строка два пуста. Когда я просматриваю это в HTML, я получаю следующее.

This is line one
This is line three

Без дополнительной пустой строки.

tinyMCE.init({
    mode : "textareas",
    theme : "advanced",
    plugins : "bbcode",
    entity_encoding : "raw",
    remove_linebreaks : false,
    force_p_newlines : false,
    force_br_newlines : true,
    forced_root_block : ''
});

Что я пропускаю?

8
задан random 26 November 2011 в 04:47
поделиться

6 ответов

Я проверил его в моей тестированной странице с Firefox 3.5.7 и Google Chrome 4.0.223.11.

HTML:

tinyMCE.init({
  theme : "advanced",
  mode : "textareas",
  plugins : "bbcode",
  content_css : "bbcode.css",
  entity_encoding : "raw",
  add_unload_trigger : false,
  remove_linebreaks : false,
  apply_source_formatting : false
});

Пространство между абзацами можно удалить с помощью простых CSS («BBCode.css»), как это:

p {margin:0; padding: 0;}
3
ответ дан 5 December 2019 в 22:19
поделиться

Вероятно, вам нужно использовать nl2br() функцию для вывода HTML-кода:

nl2br - Вставляет разрывы строки HTML перед всеми новыми строками в строке

В качестве альтернативы можно установить опцию force_p_newlines в значение true.


Я протестировал его, и Вы правы, но такое поведение происходит только с плагином BBCode. Я считаю, что с помощью опции preformatted : true в tinyMCE.init вы должны быть в состоянии решить вашу проблему.

1
ответ дан 5 December 2019 в 22:19
поделиться

попробуйте добавить в объект config

valid_elements: 'br'  //and any others that you want
0
ответ дан 5 December 2019 в 22:19
поделиться

В конфигурации TinyMCE вы можете выбрать длину новых строк

http://www.tinymce.com/wiki.php/Configuration3x:force_br_newlines

TinyMCE будет принудительно размещать элементы BR на новых строках вместо вставки абзацев

tinyMCE.init({
    ...
    force_br_newlines : true,
    force_p_newlines : false,
    forced_root_block : '' // Needed for 3.x
});
1
ответ дан 5 December 2019 в 22:19
поделиться

У меня такая же проблема. Это решение для плагина bbcode:

forced_root_block : false,
remove_redundant_brs : false,
valid_elements: "br",
verify_html : false,
0
ответ дан 5 December 2019 в 22:19
поделиться

К вашему сведению - несмотря на политическую драму вокруг того, что "правильно" использовать теги

и не использовать
, проблема для меня заключалась в том, что я рассылал контент по электронной почте - а в электронной почте у меня нет контроля над CSS в тегах

(если я не хочу добавлять встроенный CSS к каждому тегу). Поэтому теги

добавляли конечным пользователям то, что выглядело как двойной межстрочный интервал. На своем сайте я добавил CSS, чтобы убрать интервал, и содержимое выглядело нормально.

Итак, после использования тегов
, затем перехода к "правильному пути" с

, я снова возвращаюсь к использованию тегов
...

0
ответ дан 5 December 2019 в 22:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: