TinyMCE <br data-mce-bogus="1"> 随机设置在空白文本区域

TinyMCE <br data-mce-bogus="1"> randomly set on empty textarea

我已经在搜索这个 <br data-mce-bogus="1"> 但没有找到任何可行的解决方案。

它在我的文本区域为空时随机发生,我有时会提交表单 return <br data-mce-bogus="1"> 或保持空白。

我已经尝试通过以下方式从我的 php 过程中清理它:

if(!empty($value) AND $value!='<br data-mce-bogus="1">'){
   #input to database 
}

javascript 有什么解决方案吗?

这是我初始化 tinymce 的方式:

tinymce.init({
selector:'textarea.tinymce-input',
height: 500,
menubar: false,
plugins: [
'advlist autolink lists link image charmap print preview anchor textcolor',
'searchreplace visualblocks code fullscreen',
'insertdatetime media table contextmenu paste code help wordcount'
],
toolbar: 'insert | undo redo |  formatselect | bold italic backcolor  | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | help',
force_br_newlines : true,
forced_root_block : '',
});

这不是随机发生的。仅当您在文本区域内单击一次并提交表单或单击外部某处而不在 Tiny MCE 文本区域中输入任何内容时,该值才设置为“”。

解决方法:

尝试使用事件侦听器来更改内容字段。为此使用 'setup:',如下所示:

tinymce.init({
selector:'textarea.tinymce-input',
height: 500,
menubar: false,
plugins: [
'advlist autolink lists link image charmap print preview anchor textcolor',
'searchreplace visualblocks code fullscreen',
'insertdatetime media table contextmenu paste code help wordcount'
],
toolbar: 'insert | undo redo |  formatselect | bold italic backcolor  | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | help',
force_br_newlines : true,
forced_root_block : '',
setup : function(ed) {
  ed.on('blur change cut copy keyup paste', function(e){
  var tinyMceData = tinyMCE.activeEditor.getContent({ format: 'raw' });
  if(tinyMceData.indexOf('<br data-mce-bogus="1">') >= 0) {
    tinyMceData = "";
    tinyMCE.activeEditor.setContent('', { format: 'raw' });
  }
  //Here you can validate your other content related validations
});
}
});