2015-08-12 6 views
1

Есть ли способ разместить один span внутри p тег (корень элемента крошечного mce)? Я имею в виду каждая новая линия должна бытьTinyMce: настройка новых линий

<p><span></span></p> 

Любая идея, чтобы достичь этого?

Мои обходные пути это ..

  1. Я проверил forced_root_block: 'p,span' но оно не сработало.
  2. В каждом нажатии клавиши я попытался заменить <p> with <p><span> and </p> with </span></p>, но это не отражается в редакторе, и я уверен, что логика замены работает отлично, потому что я печатаю на консоли, которая показывает ожидаемый результат (<p><span>{{my input}}</span></p>).
+0

Возможно, это поможет http://stackoverflow.com/questions/8397852/why-p-tag-cant-contain-div-tag-inside-it – dllhell

+0

Извините, я поместите тег 'div' внутри 'P' в качестве примера, Я ищу, чтобы добавить элемент html, который может быть любым, например, span или h1 и т. д. внутри тега «P». Теперь я редактировал вопрос. – LMK

ответ

1

Да, используйте эту директиву внутри tinymce.init({});

setup: function(editor) { 
    editor.on('PostProcess', function(ed) { 
     ed.content = ed.content.replace(/(<p>)/gi,'<p><span>').replace(/(<\/p>)/gi,'<\/span><\/p>'); 
    }); 
} 

Это автоматически заменит все теги <p></p> с <p><span></span></p>

Look: Я использую событие постобработки http://www.tinymce.com/wiki.php/api4:event.tinymce.Editor.PostProcess

С небольшим количеством воображения вы можете настроить это событие немного больше. Здесь вы можете увидеть полный рабочий пример: http://jsfiddle.net/csedoardo/bbfg7x3z/

+0

Спасибо, его работа ... (y) – LMK

0

достигнет ли это того, что вы ищете?

tinymce.init({ 
    selector: 'textarea', 
    forced_root_block: 'span', 
    force_p_newlines: true 
}); 
Смежные вопросы