2016-11-30 18 views
0

私はユーザー入力を受け付けてデータベースに挿入するテキストエリアにtinymceプラグインを使用しています。tinymceが余分な空白行を追加するのを防ぐ方法

htmlページ:TinyMCEのを初期化する

​​

スクリプト:

initTinyMCE('#content'); 
function initTinyMCE(querySelector) { 
    tinymce.init({ 
     selector:querySelector, 
     plugins: [ 
      "advlist autolink lists link image charmap print preview anchor", 
      "searchreplace visualblocks code fullscreen", 
      "insertdatetime media table contextmenu paste jbimages preview emoticons media", 
      "textcolor placeholder" 
      ], 
     toolbar: "bold italic underline strikethrough backcolor emoticons autoresize | bullist numlist outdent indent | insertfile | alignleft aligncenter alignright alignjustify | link media image jbimages undo redo preview", 
     menubar:false, 
     paste_data_images: true, 
     relative_urls: false, 
     height : "420", 
     paste_word_valid_elements: "b,strong,i,em,h1,h2,u,p,ol,ul,li,a[href],span,color,mark", 
     relative_urls : false, 
     media_dimensions: false, 
     media_poster: false, 
     content_css: "/assets/css/bootstrap.min.css", 
     setup: function (editor) { 
      editor.on('change', function() { 
       tinymce.triggerSave(); 
      }); 
     } 
    }); 
} 

コントローラ:

$data['content'] = trim($this->input->post('content', TRUE)); 
$this->db->insert('mytable', $data); 

問題は、データベースに挿入されます余分<p>&nbsp;</p>があるということです。私はすでにデータベースに挿入する前に変数をトリムするので、私はtinymceが自動的に入力に空の行を追加すると信じています。余分な空行を取り除くにはどうすればいいですか?私は本当にそれを手動で削除する正規表現を使用する必要がありますか?

私はプラグインが広く使われていると思っていましたし、古いものもそういう設定や設定が必要ですね。

+0

ここでは答えがあります:)ちょうどinitを更新してください; http://stackoverflow.com/a/13842115/1529532 –

+1

[pタグを自動的に追加することは可能でしょうか?](http://stackoverflow.com/questions)/13841986/tinymce-adding-p-tags-automatically) – mabe02

答えて

0

私は、(一般的に)<p>タグのようなものをあなたのHTMLに持たせたいと思っていますが、最後にこの余分な空の段落が欲しくないのですか?

もしあなたが見ているのは、フォームを送信する前にEnterキーを押して新しい行に移動し、最後の行には何も入力しないという人がいると思います。

Enterキーを押して新しい行に移動すると、エディタは新しい「ブロック要素」(通常は<p>)を作成し、この要素内にカーソルが移動します。入力するとそのブロック要素内に入ります。

問題が空白ではなく空の段落であるため、コンテンツのトリミングは役に立ちません。

コンテンツの最後に空白の段落をトリムする場合は、コンテンツを送信したとき、およびコンテンツを保存する前に行うことができますが、誰かがエンターキーを押してからコンテンツを送信するのを止めることはできませんその最後のブロック要素に入力する前に。

関連する問題