3.1.8 高亮代码显示

八刀丁二
八刀丁二 这家伙很懒,还没有设置简介

6 人点赞了该文章 · 3740 浏览

亮图-可根据以下步骤修改,只改官方一个文件!

1.jpg
2.jpg

修改官方代码插件的标签

 
  1. 首先下载高亮js https://highlightjs.org/download/将下载好的文件放置             根目录/static/js/
  2. 打开 根目录/system/Services/BBCode.php
首先添加一个方法
	//添加一个类变量 用于首次加载
	protected $on_js = null;
    //添加一个载入js和高亮样式的方法 
    private function gaoliang(){
        if(!$this->on_js){
        TPL::import_js('js/highlight/highlight.pack.js'); //您保存js路径
        //高亮样式=styles路径下的文件名 官方有例子可参照!
        TPL::import_css('js/highlight/styles/monokai-sublime.css');
        //用于初始化,当然你有更好的办法可以更改
        $this->on_js = '<script>$(document).ready(function() {$(\'pre code\').each(function(i, block) {   hljs.highlightBlock( block); }); });</script>';
        return  $this->on_js; 
        }else{
            return  ''; 
        }
    }
    
添加完毕 修改 _code_callback() 方法
	private function _code_callback($match)
	{
	    //用于自定义指定样式! 如果需要可以根据下面方法修改! 
	    $css = $match[2]?'class="'.$match[2].'"':'';
	    //这里调用高亮的方法!
		return $this->gaoliang()."<pre><code ".$css.">" . str_replace('[', '<span>[</span>', $match[1]) . "</code></pre>";
	}
修改可自定义指定样式 在构造器增加代码,并非增加方法,(注意)
public function __construct()
    {
        //可指定脚本高亮样式
        $this->bbcode_table["/\[code-.*?\](.*?)\[\/code-(.*?)\]/is"] = '_code_callback';
        //其他代码 
    }
    

发布于 2016-03-27 14:48

免责声明:

本文由 八刀丁二 原创发布于 WeCenter ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

龙天
2016-03-27 18:12
怎么样能只改下底色?
ascxy
2016-03-27 16:36
试过了,可行 moguzhan.com