TinyMce:自定义新行

TinyMce : Customizing new lines

有没有办法把一个span放在p标签里(tiny mce的根元素)? 我的意思是每一行都应该是

<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> ).

这会达到您的要求吗?

tinymce.init({
    selector: 'textarea',
    forced_root_block: 'span',
    force_p_newlines: true
});

是的,在您的 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><span></span></p>

替换所有 <p></p> 标签

看:我正在使用 PostProcess 事件 http://www.tinymce.com/wiki.php/api4:event.tinymce.Editor.PostProcess

只要发挥一点想象力,您就可以对活动进行更多自定义。在这里你可以看到一个完整的工作示例:http://jsfiddle.net/csedoardo/bbfg7x3z/

对于 Chrome 兼容的浏览器 TinyMCE 替换新行 <div></div> 块。 此标签的行高为零。 使用 setup 选项替换 TAG

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