如何使用TinyMCE粘贴插件允许HTML标签?

时间:2013-04-22 09:50:01

标签: javascript jquery jquery-plugins tinymce wysiwyg

我想知道在搜索了几个小时后我找不到解决这个问题的方法。

我想在我全能的TinyMCE编辑器中使用两种模式:

  1. 允许复制/粘贴包含大多数样式和格式属性的HTML文本或Word / OpenOffice文本
  2. 默认情况下启用粘贴插件并删除大部分HTML ,但允许简单格式化
  3. 我可以使用大多数样式复制/粘贴HTML文本或Word / OpenOffice文本。 此外,默认情况下启用粘贴插件按钮。

    但是我不知道如何配置粘贴插件以允许一些HTML标签,特定列表(ol,ul,li),换行符(br)和简单格式化(b,i,u) ,如果点击了粘贴插件按钮。

    我尝试修改paste_postprocesspaste_preprocess功能,但未找到解决方案。另外,配置valid_elements并没有给我带来成功。

    我的设置(重要部分):

    plugins : "paste,tabfocus,table,safari",
    paste_auto_cleanup_on_paste : true,
    paste_create_paragraphs: false,
    paste_create_linebreaks : false,
    paste_postprocess : function(pl, o) { },
    paste_preprocess : function(pl, o) { },
    paste_remove_spans:true,
    paste_remove_styles:true,
    paste_remove_styles_if_webkit:true,
    paste_retain_style_properties:"none",
    paste_strip_class_attributes:"all",
    paste_text_sticky:true,
    convert_urls : false,
    entity_encoding : "raw",
    valid_elements : "em/i,strong/b,ol,ul,li,br",
    force_br_newlines : true,
    force_p_newlines : false,
    forced_root_block : false,
    invalid_elements : "font",
    setup : function(ed) {
      ed.onInit.add(function(ed) {
        ed.pasteAsPlainText = true; // select "paste" on startup
      });
    },
    verify_html : false
    

1 个答案:

答案 0 :(得分:3)

使用粘贴配置设置paste_preprocess,您可以过滤传入的内容,只保留您想要保留的标记。 仔细看看:TinyMCE Paste As Plain Text