ckeditor 给固定关键词加超链接

 

因为文章中seo的需要,需要把特定的关键词在文章完成后提出出来加入超链接,当然有很多方法,比如在php中直接替换

还有一种方法就是在ckeditor中将关键词提取出来加链接,需要熟悉ckeditor相关的配置和js方面的知识

 

上代码

 //自定义讲关键词加链接插件
    CKEDITOR.plugins.add("klink", {
        init: function (editor) {
            editor.ui.addButton("KeywordLink", {label: "特定关键词加链接", command: 'klink', icon: 'Smiley', toolbar: 'insert,10'});
            editor.addCommand('klink', {
                exec: function (editor) {
                    //console.log(editor.getData());
                    var content = editor.getData();
                    //var content = "面相风水测试"
                    var keyword1 = "面相";
                    var replace1 = "<a href='http://www.mingyunfengshui.com/web/miangxiangjichu.html' target='_blank'>"+keyword1+"</a>"
                    var reg = new RegExp(keyword1, "g" );
                    var content = content.replace( reg , replace1 );

                    var keyword2 = "命运网";
                    var replace2 = "<a href='http://www.mingyunfengshui.com' target='_blank'>命运风水面相手相网</a>"
                    var reg2 = new RegExp(keyword2, "g" );
                    var content = content.replace( reg2 , replace2 );
                    console.log(content)
                    //document 对象在源码模式无效,this.setData是重新加载,不是同步方法,不能使用
                    if (editor.document != null)
                        editor.document.getBody().setHtml(content);
                }
            });
        }
    });

将上述代码加入到config。js中

 

在config中的config加入,带有klink和KeyWord关键词相关的内容,在此就整体复制过来了

// 定义编辑器标准配置
    CKEDITOR.editorConfig = function (config) {
        config.language = 'zh-cn';
        config.toolbar = [
            {name: 'document', items: ['Source']},
            {name: 'styles', items: ['Font', 'FontSize']},
            {name: 'basicstyles', items: ['Bold', 'Italic', 'Underline', 'Strike', 'RemoveFormat', 'TextColor', 'BGColor', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', 'NumberedList', 'BulletedList']},
            {name: 'uimage', items: ['Link', 'Unlink', 'Table', 'UploadImage', 'UploadVideo']},
            {name: 'tools', items: ['Maximize','KeywordLink']}
        ];
        config.allowedContent = true;
        config.extraPlugins = 'uimage,txvideo,klink';
        config.format_tags = 'p;h1;h2;h3;pre';
        config.removeButtons = 'Underline,Subscript,Superscript';
        config.removeDialogTabs = 'image:advanced;link:advanced';
        config.font_names = '宋体/SimSun;新宋体/NSimSun;仿宋/FangSong;楷体/KaiTi;黑体/SimHei;微软雅黑/Microsoft YaHei;' + config.font_names;
        //config.extraPlugins="klink";
    };

 

 

白发渔樵

白发渔樵

发表评论

电子邮件地址不会被公开。 必填项已用*标注