Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TinyMCE displaying html tags after saving and reloading the data

Tags:

tinymce

I'm having a bit of an issue with TinyMCE.

After saving the contents of the editor and redisplaying it all the HTML tags are visible.

This is how I'm initializing the editor:

    tinyMCE.init({
      setup: function (ed) {
        ed.onSaveContent.add(function (ed, o) {
          o.content = o.content.replace(/&#39/g, '&apos');
        });
      },

      // General options
      mode: 'specific_textareas',
      theme: 'advanced',
      encoding: 'xml',
      entity_encoding: 'raw',
      height: '500',
      width: '100%',
      plugins: 'autolink,lists,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave',

      editor_selector: 'rich-text-area',
      editor_deselector: 'text-area',

      // Theme options
      theme_advanced_buttons1: 'save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect',
      theme_advanced_buttons2: 'cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor',
      theme_advanced_buttons3: 'tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen',

      theme_advanced_toolbar_location: 'top',
      theme_advanced_toolbar_align: 'left',
      theme_advanced_statusbar_location: 'bottom',
      theme_advanced_resizing: false,

      // Example content CSS (should be your site CSS)
      content_css: 'css/content.css',

      // Drop lists for link/image/media/template dialogs
      template_external_list_url: 'lists/template_list.js',
      external_link_list_url: 'lists/link_list.js',
      external_image_list_url: 'lists/image_list.js',
      media_external_list_url: 'lists/media_list.js',

      // Style formats
      style_formats: [
                    { title: 'Bold text', inline: 'b' },
                    { title: 'Red text', inline: 'span', styles: { color: '#ff0000'} },
                    { title: 'Red header', block: 'h1', styles: { color: '#ff0000'} },
                    { title: 'Example 1', inline: 'span', classes: 'example1' },
                    { title: 'Example 2', inline: 'span', classes: 'example2' },
                    { title: 'Table styles' },
                    { title: 'Table row 1', selector: 'tr', classes: 'tablerow1' }
                ]
    });

The data after its redisplayed:

enter image description here

The data as it is stored in the database:

<p>Testing</p>
like image 479
Rollcredit Avatar asked Jul 29 '12 03:07

Rollcredit


3 Answers

See http://www.tinymce.com/wiki.php/Configuration:encoding

Seems like you need to comment encoding: 'xml' on your configuration.

like image 184
Niloct Avatar answered Oct 24 '22 03:10

Niloct


Add this under init function:

tinyMCE.init( {
    forced_root_block: false, // Start tinyMCE without any paragraph tag
} )
like image 2
Rajiv Mandal Avatar answered Oct 24 '22 03:10

Rajiv Mandal


you can remove Html tags with the help of @Html.Raw()

<p>we are Arrivaler web and Mobile development</p>

index view

@Html.Raw(var.description) 

result:

we are Arrivaler web and Mobile development
like image 1
saurav singh Avatar answered Oct 24 '22 02:10

saurav singh