javascript - 求ckeditor在线编辑器代码高亮显示方案。
伊谢尔伦
伊谢尔伦 2017-04-10 13:11:59
[JavaScript讨论组]

如题,方案或者插件都可以,好看点就行!

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(2)
迷茫

比如
http://ckeditor.com/addon/codemirror

巴扎黑

通过

CKEDITOR.instances.xxx.getData()\\xxx为textarea的name属性

可以获得ckeditor编辑好的html代码,然后可以通过highlight.js等前端代码高亮工具进行着色,不过生成的html通过CKEDITOR.instances.xxx(textarea的name属性).setData(data)写回到ckeditor里面还是显示不了,所以可以像很多markdown编辑器一样弄一个预览框来显示高亮后的整篇文章的预览效果,比如sf的评论框和马克飞象一样,对代码高亮的highlight的核心代码如下:

<link rel="stylesheet" href="styles/default.css">
<script src="highlight.pack.js"></script>
$("#ckeditor").keyup(function(event){
    var $doc = $(CKEDITOR.instances.ckeditorName.getData());
    $('code', $doc).each(function(i, e) {
        hljs.highlightBlock(e);
    });
    $output.innerHTML = $doc[0].outerHTML;
});

大致上是这么个意思,至于楼上说的codemirror,刚才我试验了一下,可能是我太笨了,结果没有高亮显示,只是高亮了ckeditor的查看源码部分的html,o(╯□╰)o

除此之外,ckeditor还有一个插件叫syntaxhighlighter也是用来生成代码高亮的,不过貌似需要后台支持,如果可以在后台支持中添加也是一个不错的选择。

如果有好的解决方法,也希望你能告诉我

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号