tinymce自动添加p标签?

时间:2012-12-12 14:35:30

标签: tinymce

我使用tinymce并将其保存到数据库中。

当我使用tinymce编辑保存的内容并再次保存时,它会在开头插入一个p标记。

一遍又一遍地编辑内容会在内容的开头留下很大的空白。

有人知道修复吗?

4 个答案:

答案 0 :(得分:91)

TinyMce会自动在新行中添加“<p>”。 您可以在tinyMce初始化中设置此选项,如下所示:

  tinyMCE.init({
      mode : "textareas",
      theme : "advanced",
      force_br_newlines : false,
      force_p_newlines : false,
      forced_root_block : '',
  });

希望它会有所帮助

Fonski

答案 1 :(得分:4)

我确信@Fonski的答案是正确的,但我想我会更新这个,因为对于放置代码的位置感到困惑的其他人。我将以下内容放在_config.php文件中以使其正常工作:

$defaultEditorConfig = HtmlEditorConfig::get('cms');
$defaultEditorConfig->setOptions(
    array(
        'mode'              => 'textareas',
        'theme'             => 'advanced',
        'force_br_newlines' => false,
        'force_p_newlines'  => false,
        'forced_root_block' => ''
    )
);

注意:如果您只想删除自动包装图像标记(等)的p标记,则需要设置'forced_root_block' => ''选项。

编辑:这个建议是针对那些使用SilverStripe的人,我发布了这个问题,认为这些问题是SilverStripe特有的。

答案 2 :(得分:3)

对我而言,它通过制作&#34; force_br_newlines:true&#34;而不是假。

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

我希望它有所帮助

答案 3 :(得分:0)

来自tinymce.js v4.1.10代码:

newBlockName = (settings.force_p_newlines ? 'p' : '') || settings.forced_root_block;

因此避免&lt; p&gt;的关键似乎如前所述

settings.force_p_newlines = false

settings.forced_root_block = ''