2014-09-12 2 views
0

Я пытаюсь получить порядок тегов bbcode для правильного форматирования с tinymce 4.1.5.Неверное форматирование bbcode тегов в tinymce 4

Когда я устанавливаю цвет текста и подчеркиваю его, закрывающие теги смешиваются или помещают атрибут text-decoration = "underline" в цветовой тег.

Например, я получаю

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

Когда это должно быть

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

Или я могу получить [color = "ff0000"] [и] некоторый текст [/ 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

Я закончил тем, что отформатировал форматирование с помощью 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); 
     }); 

    }, 
}); 
Смежные вопросы