Как я могу выделить элементы, которые соответствуют регулярному выражению в CKeditor?

Я хочу иметь возможность выделить (т.е. обернуть в промежуток цветом или другим способом) весь текст, соответствующий регулярному выражению в CKEditor. Я'Я, вероятно, добавил бы кнопку, чтобы сделать это, и кнопку, чтобы удалить выделение. Мой конкретный вариант использования - выделить все переменные усов в моих HTML-шаблонах (чтобы было действительно легко увидеть, где есть переменные усов).

мы реализовали версию, в которой я заменяю усы, соответствующие регулярному выражению, на span, а затем группу захвата. Похоже, это нарушает некоторые шаблоны при тестировании.

Чтобы удалить выделение, я использую editor.removeStyle, который неКажется, что работает во всех случаях.

Вот пример того, что ямы реализовали:

editor.addCommand( 'highlightMustache', {
            exec: function( editor ) {
                editor.focus();
                editor.document.$.execCommand( 'SelectAll', false, null );
                var mustacheRegex = /{{\s?([^}]*)\s?}}/g;
                var data = editor.getData().replace(mustacheRegex, '<span style="background-color: #FFFF00">{{ $1 }}</span>');
                editor.setData( data );
            }
        });

        // command to unhighlight mustache parameters
        editor.addCommand( 'unhighlightMustache', {
            exec: function( editor ) {
                editor.focus();
                editor.document.$.execCommand( 'SelectAll', false, null );
                var style = new CKEDITOR.style( { element:'span', styles: { 'background-color': '#FFFF00' },type:CKEDITOR.STYLE_INLINE,alwaysRemoveElement:1 } );
                editor.removeStyle( style );
                editor.getSelection().removeAllRanges();
            }
        });

Спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос