web-dev-qa-db-ja.com

tinymceはpタグを自動的に追加しますか?

私はtinymceを使用してデータベースに保存しています。

保存したコンテンツをtinymceを使用して編集し、再度保存すると、先頭にpタグが挿入されます。

コンテンツを何度も編集すると、コンテンツの先頭に大きなギャップが残ります。

誰かが修正を知っていますか?

42
panthro

TinyMceは自動的に「<p> "を新しい行に追加します。このオプションは、tinyMceの初期化で次のように設定できます。

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

それが役立つことを願っています

フォンスキー

91
Fonski

@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固有のものだと考えて投稿しました。

4
nickspiel

私にとっては、falseではなく "force_br_newlines:true"にすることで機能しました。

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

私はそれが役立つことを願っています

4
Learner

Tinymce.js v4.1.10コードから:

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

したがって、<p>を回避するためのキーは前述のように思われます

settings.force_p_newlines = false

そして

settings.forced_root_block = ''
0