如何操作CKEditor

时间:2015-06-01 15:42:47

标签: javascript ckeditor placeholder

我正在使用CKEditor的{​​{3}}插件来放置外卡变量。现在我想更改正在与占位符的默认封装一起呈现的文本,即[[]]。我想将其更改为{{}},使其看起来像{{placeholder}}而不是[[placeholder]]。我怎么可能操纵源代码?

我已经尝试操纵plugin.js

editor.widgets.add( 'placeholder', {
                // Widget code.
                dialog: 'placeholder',
                pathName: lang.pathName,
                // We need to have wrapping element, otherwise there are issues in
                // add dialog.
                template: '<span class="cke_placeholder">{{}}</span>',

                downcast: function() {
                    return new CKEDITOR.htmlParser.text( '{{' + this.data.name + '}}' );
                },

                init: function() {
                    // Note that placeholder markup characters are stripped for the name.
                    this.setData( 'name', this.element.getText().slice( 2, -2 ) );
                },

                data: function() {
                    this.element.setText( '{{' + this.data.name + '}}' );
                }
            } );

但是对编辑没有任何影响。请指教。感谢。

2 个答案:

答案 0 :(得分:2)

<强>校正: 正则表达式应为:

var placeholderReplaceRegex = /\{\{([^{}])+\}\}/g;

希望这有帮助。

答案 1 :(得分:0)

我相信你还需要修改afterInit函数中的正则表达式,见下面的例子

double