bbcode标签在tinymce 4中格式不正确

时间:2014-09-12 16:34:32

标签: javascript asp.net-mvc tinymce bbcode tinymce-4

我试图通过tinymce 4.1.5正确格式化bbcode标签的顺序。

当我设置文本颜色并为其加下划线时,结束标记会混淆或者将text-decoration ="下划线"颜色标签中的属性。

例如,我得到

[color="ff0000" text-decoration="underline"]some text[/color]

什么时候应该

[color="ff0000"][u]some text[/u][/color]

或者我可能会得到 [color =" ff0000"] [u]一些文字[/ color] [u]

这是我的文字区域

  @using (Html.BeginForm("TestTinyMce", "Content", FormMethod.Post))
{
@Html.TextArea("TextArea", Model.TextArea, new { @id = "TextArea", @class = "tinymce"   })
<input type="submit" value="submit"/>
}

这是初始化:

    tinymce.init({
    selector: "textarea",
    theme: "modern",
    plugins: [
        "bbcode,paste,textcolor"
    ],
    toolbar1: "undo redo |  bold italic underline forecolor |  link unlink  "
});

我在提交后到达控制器时检查值。我试图查看是否有任何可用于清理此bbcode的配置,插件或技巧。

1 个答案:

答案 0 :(得分:0)

我最终用tinymce覆盖了格式,因此它打破了跨度。这样我就不会用颜色混合下划线。

为了处理标签关闭不匹配,我使用了SaveContent事件并清理了标签。

tinymce.init({
    selector: "textarea.tinymce",
    theme: "modern",
    width: "100%",
    height: "250px",
    plugins: [
        "bbcode paste textcolor link"
    ],
    toolbar1: "undo redo  bold italic underline forecolor   link unlink  ",
    formats: {
        bold: { inline: 'strong', exact: true },
        italic: { inline: 'em', exact: true },
        underline: { inline: 'span', styles: { "text-decoration": "underline" }, exact: true },
        forecolor: { inline: 'span', styles: { color: '%value' }, exact: true }
    },
    // New event
    setup: function (editor) {
        editor.on('init', function (args) {
        });
        editor.on('SaveContent', function (e) {
            e.content = FixTags(e.content);
        });

    },
});