我试图通过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的配置,插件或技巧。
答案 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);
});
},
});