如何阻止TinyMCE用span替换已弃用的标签

时间:2013-08-14 16:47:41

标签: tinymce html

我正在使用TinyMCE在其行单击上捕获表行数据。我通过其配置UI屏幕为每个表行内容设置颜色,字体样式(如粗体和斜体)的不同值。在行上单击时,我想使用具有该特定颜色和字体样式的文本设置TinyMCE内容。但是,它将已弃用的字体样式放在span标记中,我不希望这样。我希望它保留编辑器收到的HTML文本,因为我必须处理它。我试过了:

tinymce.init(
  {
    selector:'textarea',
    theme:"advanced",                   
    theme_advanced_statusbar_location : "none",
    theme_advanced_menubar_location : "none",
    theme_advanced_toolbar_location : "none",
    convert_fonts_to_spans : "false",
    extended_valid_elements : "span[!class]",
    valid_elements : "*[*]",
    valid_children : "*[*]",
    cleanup_on_startup : false,
    cleanup : false,
  }
);

即使TinyMCE的主要开发人员建议不要在他们的论坛页面上设置cleanup =false。此外,尽管设置了valid_elements : "*[*]",但已弃用的标记(如<b><u>)也会放入span标记的style属性中。

2 个答案:

答案 0 :(得分:1)

我找到了解决方案......我所要做的就是

tinymce.init({

    selector:'textarea',
    theme:"advanced",                   
    theme_advanced_statusbar_location : "none",
    theme_advanced_menubar_location : "none",
    theme_advanced_toolbar_location : "none",
    convert_fonts_to_spans : false,
    valid_elements : "b,u,i,font[color|size]",
    valid_children : "b,u,i,font[color|size}",
    cleanup_on_startup : false,
    cleanup : false,
});

答案 1 :(得分:1)

这是我为字体颜色,字体大小做的方式。您可以将此技术应用于其他任何方面。这适用于TinyMCE 4

    convert_fonts_to_spans : false,
    formats: {
        forecolor : {inline : 'font', attributes: { color: "%value" }},
        fontsize: {inline : 'font', attributes: { size: "%value" }}
    },

注意:你不能只做convert_fonts_to_spans:false,你也需要格式。