我使用的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和谷歌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


我测试过它,你是对的,但行为只能用BB代码的插件发生。我相信,通过使用preformatted : true选项tinyMCE.init你应该能够解决你的问题。

下面是这样做的另一种方式。只要改变输入和Shift + Enter键键的行为。

ed.onKeyPress.add(
    function (ed, evt) {
            if(evt.shiftKey && evt.keyCode == 13) {
                tinyMCE.execCommand('mceInsertContent', false, '<br><br>');
                tinymce.dom.Event.cancel(evt);
                //alert('shift enter key');
                return;
            } 
            if(evt.keyCode == 13 && !evt.shiftKey) {
                tinyMCE.execCommand('mceInsertContent', false, '<br>');
                tinymce.dom.Event.cancel(evt);
                //alert('enter key');
                return;             
            }                
        });

从TinyMCE的配置可以选择换行

的beavhior

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
});

仅供参考 - 尽管它周围的政治大戏法是使用<p>标记,而不能使用<br>标签,对我来说,问题是,我是发送内容了电子邮件中的“做正确的事” - 和电子邮件中,我不具有控制权的<p>标签CSS(除非我想内嵌CSS添加到每个标签)。所以<p>标签被添加什么样出现双倍行距为最终用户。我又增加了我网站上的CSS移除间距和内容看起来很好那里。

因此,使用<br>标签,然后转到“正确的方式”与<p>后,我将回到使用<br>标签再次...

尝试加入在配置对象

valid_elements: 'br'  //and any others that you want

我有同样的问题。这是设置高亮插件的溶液:

forced_root_block : false,
remove_redundant_brs : false,
valid_elements: "br",
verify_html : false,

与TinyMCE的4我有同样的问题,但为我工作此配置

mode: 'exact',
inline: true, 
add_unload_trigger: false, 
schema:"html5", 
invalid_elements: "span", 
extended_valid_elements : "span[!class]", 
paste_remove_styles: true,
forced_root_block : false, 
verify_html : false,
cleanup : true
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top