TinyMCE在保存和重新加载数据后显示html标签

时间:2012-07-29 03:12:33

标签: tinymce

我在使用TinyMCE时遇到了一些问题。

保存编辑器的内容并重新显示后,所有HTML标记都可见。

这就是我正在初始化编辑器的方式:

    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' }
                ]
    });

重新显示后的数据:

enter image description here

数据存储在数据库中:

<p>Testing</p>

4 个答案:

答案 0 :(得分:7)

请参阅http://www.tinymce.com/wiki.php/Configuration:encoding

好像您需要对配置发表评论{.1}}。

答案 1 :(得分:2)

init函数下添加:

tinyMCE.init( {
    forced_root_block: false, // Start tinyMCE without any paragraph tag
} )

答案 2 :(得分:1)

你可以借助 @ Html.Raw()

删除Html标签
<p>we are Arrivaler web and Mobile development</p>

索引视图

@Html.Raw(var.description) 

结果:

we are Arrivaler web and Mobile development

答案 3 :(得分:0)

我们可以选择从数据库获取原始数据,该数据以html标记的形式存储。 html.raw用于此目的

在asp.net中,@ html.raw(object)是此问题的解决方案