Я использую плагин 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 : ''
});
Что я пропускаю?
Я проверил его в моей тестированной странице с 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;}
Вероятно, вам нужно использовать nl2br()
функцию для вывода HTML-кода:
nl2br - Вставляет разрывы строки HTML перед всеми новыми строками в строке
В качестве альтернативы можно установить опцию force_p_newlines
в значение true
.
Я протестировал его, и Вы правы, но такое поведение происходит только с плагином BBCode. Я считаю, что с помощью опции preformatted : true
в tinyMCE.init
вы должны быть в состоянии решить вашу проблему.
попробуйте добавить в объект config
valid_elements: 'br' //and any others that you want
В конфигурации 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
});
У меня такая же проблема. Это решение для плагина bbcode:
forced_root_block : false,
remove_redundant_brs : false,
valid_elements: "br",
verify_html : false,
К вашему сведению - несмотря на политическую драму вокруг того, что "правильно" использовать теги и не использовать
, проблема для меня заключалась в том, что я рассылал контент по электронной почте - а в электронной почте у меня нет контроля над CSS в тегах (если я не хочу добавлять встроенный CSS к каждому тегу). Поэтому теги
добавляли конечным пользователям то, что выглядело как двойной межстрочный интервал. На своем сайте я добавил CSS, чтобы убрать интервал, и содержимое выглядело нормально.
Итак, после использования тегов
, затем перехода к "правильному пути" с , я снова возвращаюсь к использованию тегов
...