Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TinyMCE嵌套自定义格式_Javascript_Tinymce_Tinymce 4 - Fatal编程技术网

Javascript TinyMCE嵌套自定义格式

Javascript TinyMCE嵌套自定义格式,javascript,tinymce,tinymce-4,Javascript,Tinymce,Tinymce 4,我试图创建一系列内联文本模式,用s标记TinyMCE(4.3.2)编辑器内容。我可以创建新的自定义格式并注册一个新的文本模式,但是当尝试匹配嵌套模式时,问题就出现了 这些自定义格式的TinyMCE init代码为: formats: { 'innerFormat': { inline: 'span', classes: 'inner', exact: true, selector: 'span.inner' },

我试图创建一系列内联文本模式,用
s标记TinyMCE(4.3.2)编辑器内容。我可以创建新的自定义格式并注册一个新的文本模式,但是当尝试匹配嵌套模式时,问题就出现了

这些自定义格式的TinyMCE init代码为:

formats: {
    'innerFormat': {
        inline: 'span',
        classes: 'inner',
        exact: true,
        selector: 'span.inner'
    },
    'outerFormat': {
        inline: 'span',
        classes: 'outer',
        exact: true,
        selector: 'span.outer'
    }
},
textpattern_patterns: [
    {start: '{{', end: '}}', format: 'innerFormat'},
    {start: '[[', end: ']]', format: 'outerFormat'}
]
我希望能够在编辑器中键入以下行:

[[outerText({{innerText}})]]
并接收此标记:

<span class="outer">outerText(<span class="inner">innerText</span>)</span>
内部格式匹配后,从rng.startContainer返回的容器立即从父容器更改为文本容器

我如何修改TinyMCE textpattern插件以搜索父块级元素中的文本模式而不是当前选择的容器

[[outerText(<span class="inner">innerText</span>)]]
rng = selection.getRng(true);
container = rng.startContainer;
offset = rng.startOffset;
text = container.data;
delta = space ? 1 : 0;