2016-11-30 41 views
0

我在接受用戶輸入並將其插入數據庫的textarea上使用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會自動爲輸入添加一個空行。我如何擺脫那多餘的空行?我真的必須使用正則表達式來手動刪除它嗎?

我想到了一個插件被廣泛使用和舊如TinyMCE的應該有一個設置或配置來做到這一點,不是嗎?

+0

你在這裏有答案:)只是更新初始化;) http://stackoverflow.com/a/13842115/1529532 –

+1

可能重複[tinymce自動添加p標籤?](http://stackoverflow.com/questions/13841986/TinyMCE的-加入對 - 標籤 - 自動地) – mabe02

回答

0

我打算假設你(一般情況下)希望你的HTML有像<p>這樣的標籤,你只是不希望這個「額外」的空段在最後?

如果讓我懷疑你看到的是有人按下回車鍵移動到新行,但在提交表單前不打字上最後一行事情。

當您按Enter鍵移動到新行時,編輯器將創建一個新的「塊元素」(通常爲<p>)並且光標位於此元素內,然後當您鍵入該內容時,該塊元素將進入該塊元素。

修剪內容將無濟於事,因爲問題不是空白而是「空白」段落。

如果您特別想要在內容末尾修剪任何空的段落,您可以在提交內容時以及在保存內容之前這樣做,但不能阻止某人按下回車鍵然後提交內容然後輸入最後一個塊元素。

相關問題