3.1.8 高亮代码显示


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


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';
//其他代码
}

打赏

0次打赏,累计0元

11 个评论

试过了,可行 moguzhan.com
怎么样能只改下底色?
直接编辑官方样式文件 code 样式
在那个位置?没找到位置
找到了,通过色号找到了。
已经使用 openskill.cn
为什么BB码不支持嵌套呢? 一个内容只能用一个样式。
不太理解你的思维。
就是code 中不能有其它样式,加粗也都不行。
样式级别和加载顺序要搞清楚
谢谢分享,顶下

要回复文章请先登录注册