htmldatabasetinymce-4

Avoid TinyMCE saving <html> tags


My editor saves full HTML structure even if my text-area is empty, here is what I have when I save my post with empty text-area in my database:

<!DOCTYPE html>
<html>
<head>
</head>
<body>

</body>
</html>

it supposed to be null also even if I have content in my text-area still this HTML structure is in my db

Codes

text-area

<textarea class="form-control editor" name="description" id="description" cols="30" rows="10"></textarea>

script

<script>
  var editor_config = {
    path_absolute : "/",
    selector: "textarea.editor",
    plugins: [
      "advlist autolink lists link image charmap print preview hr anchor pagebreak",
      "searchreplace wordcount visualblocks visualchars code fullscreen",
      "insertdatetime media nonbreaking save table contextmenu directionality",
      "emoticons template paste textcolor colorpicker textpattern codesample",
      "fullpage toc tinymcespellchecker imagetools help"
    ],
    toolbar: "insertfile undo redo | styleselect | bold italic strikethrough | alignleft aligncenter alignright alignjustify | ltr rtl | bullist numlist outdent indent removeformat formatselect| link image media | emoticons charmap | code codesample | forecolor backcolor",
    external_plugins: { "nanospell": "http://xxxxxxxx/js/tinymce/plugins/nanospell/plugin.js" },
    nanospell_server:"php",
    browser_spellcheck: true,
    relative_urls: true,
    remove_script_host: false,
    branding: false,
    file_browser_callback : function(field_name, url, type, win) {
      var x = window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth;
      var y = window.innerHeight|| document.documentElement.clientHeight|| document.getElementsByTagName('body')[0].clientHeight;

      var cmsURL = editor_config.path_absolute + 'laravel-filemanager?field_name=' + field_name;
      if (type == 'image') {
        cmsURL = cmsURL + "&type=Images";
      } else {
        cmsURL = cmsURL + "&type=Files";
      }

      tinymce.activeEditor.windowManager.open({
        file: '<?= route('elfinder.tinymce4') ?>',// use an absolute path!
        title: 'xxxxxx file manager',
        width: 900,
        height: 450,
        resizable: 'yes'
      }, {
        setUrl: function (url) {
          win.document.getElementById(field_name).value = url;
        }
      });
    }
  };

  tinymce.init(editor_config);
</script>

Q:

How to avoid of having this HTML structure in my text-area? I just need my content tags and not HTML,Head,Body tags


Solution

  • You are using the fullpage plugin which causes TinyMCE to work with an entire HTML document:

    https://www.tinymce.com/docs/plugins/fullpage/

    If you don't want TinyMCE to manage the entire HTML document just don't load that plugin.