Discuz7使用syntaxhighlighter_2.0.320实现代码高亮
一、修改./templates/default/discuzcode.htm文件
在function tpl_codedisp($discuzcodes, $code) 函数前增加如下函数
function tpl_codecsh($discuzcodes, $code, $lang) {
}–>
<!–{block return}–><code id="code$discuzcodes[codecount]"><pre class="brush: $lang">$code</pre></code><!–{/block}–>
<!–{eval return $return;}–>
<!–{eval
}
二、修改./templates/你的风格/header.htm
在</head>前添加:
<link href="plugins/syntaxhighlighter/styles/shCore.css" type="text/css" rel="stylesheet" />
<link href="plugins/syntaxhighlighter/styles/shThemeDefault.css" type="text/css" rel="stylesheet" />
<script src="plugins/syntaxhighlighter/src/shCore.js" type="text/javascript"></script>
<script class="javascript">
SyntaxHighlighter.config.clipboardSwf = 'plugins/syntaxhighlighter/scripts/clipboard.swf';
</script>
三、修改./templates/你的风格/footer.htm
在</body>前添加:
<script class="javascript" src="plugins/syntaxhighlighter/src/shCore.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushAS3.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushBash.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushCpp.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushCSharp.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushCss.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushDelphi.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushDiff.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushGroovy.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushJava.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushJavaFX.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushJScript.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushPerl.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushPhp.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushPlain.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushPowerShell.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushPython.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushRuby.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushScala.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushSql.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushVb.js"></script>
<script class="javascript" src="plugins/syntaxhighlighter/scripts/shBrushXml.js"></script>
<script class="javascript">
SyntaxHighlighter.config.clipboardSwf = 'plugins/syntaxhighlighter/scripts/clipboard.swf';
SyntaxHighlighter.config.stripBrs=true;
SyntaxHighlighter.all();
</script>
四、修改./include/discuzcode.func.php
在function codedisp($code)函数下面添加如下函数
function codedpdisp($code, $lang) {
global $discuzcodes;
$discuzcodes['pcodecount']++;
$code = htmlspecialchars(str_replace('\\"', '"', preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1", $code)));
$discuzcodes['codehtml'][$discuzcodes['pcodecount']] = tpl_codecsh($discuzcodes, $code, $lang);
$discuzcodes['codecount']++;
return "[\tDISCUZ_CODE_$discuzcodes[pcodecount]\t]";
}
在$message = preg_replace("/\s*\[code\](.+?)\[\/code\]\s*/ies", "codedisp('\\1')", $message);上面增加如下代码
$message = preg_replace("/\s*\[code=\"(php|xhtml|sql|js|css|xml|html|jscript|javascript|cpp|c|c++|c#|c-sharp|csharp|delphi|pascal|java|py|python|ruby|rails|ror|vb|vb.net|xslt){1}\"\](.+?)\[\/code\]\s*/ies", "codedpdisp('\\2', '\\1')", $message);
把return $htmlon ? $message : nl2br(str_replace(array("\t", ' ', ' '), array(' ', ' ', ' '), $message));替换为
$message = $htmlon ? $message : nl2br(str_replace(array("\t", ' ', ' '), array(' ', ' ', ' '), $message));
for($i = 0; $i <= $discuzcodes['pcodecount']; $i++) {
$message = str_replace("[\tDISCUZ_CODE_$i\t]", $discuzcodes['codehtml'][$i], $message);
}
return $message;
五、修改./include/js/post.js
在</textarea>';下面增加如下代码
if (cmd == 'code') {
str += '<br />Lang: <select id="' + ctrlid + '_param_2">'
+ '<option value="">Choose Language</option>'
+ '<option value="php">php</option>'
+ '<option value="xhtml">xhtml</option>'
+ '<option value="sql">sql</option>'
+ '<option value="js">js</option>'
+ '<option value="css">css</option>'
+ '<option value="xml">xml</option>'
+ '<option value="html">html</option>'
+ '<option value="jscript">jscript</option>'
+ '<option value="javascript">javascript</option>'
+ '<option value="cpp">cpp</option>'
+ '<option value="c">c</option>'
+ '<option value="c++">c++</option>'
+ '<option value="c#">c#</option>'
+ '<option value="c-sharp">c-sharp</option>'
+ '<option value="csharp">csharp</option>'
+ '<option value="delphi">delphi</option>'
+ '<option value="pascal">pascal</option>'
+ '<option value="java">java</option>'
+ '<option value="py">py</option>'
+ '<option value="python">python</option>'
+ '<option value="ruby">ruby</option>'
+ '<option value="rails">rails</option>'
+ '<option value="ror">ror</option>'
+ '<option value="vb">vb</option>'
+ '<option value="vb.net">vb.net</option>'
+ '<option value="xslt">xslt</option>'
+ '</select>';
}
在
if(wysiwyg) {
if(cmd == 'code') {
text = preg_replace(['<', '>'], ['<', '>'], text);
}
text = text.replace(/\r?\n/g, '<br />');
}下面增加如下代码
if (cmd == 'code' && $(ctrlid + '_param_2').value != '') {
opentag = '[code="' + $(ctrlid + '_param_2').value + '"]';
text = "\n" + text + "\n";
}
六、如果需要汉化修改./plugins/syntaxhighlighter/src/shCore.js相关数据并根据论坛的编码修改成相对应的编码。
没有合适的资源?快使用搜索试试~ 我知道了~
Discuz7使用syntaxhighlighter_2.0.320实现代码高亮
共48个文件
js:26个
css:7个
png:6个
需积分: 9 70 下载量 37 浏览量
2009-08-05
13:55:11
上传
评论 1
收藏 117KB RAR 举报
温馨提示
Discuz7使用syntaxhighlighter_2.0.320实现代码高亮
资源推荐
资源详情
资源评论
收起资源包目录
discuz7_syntaxhighlighter_2.0.320.rar (48个子文件)
discuz7_syntaxhighlighter_2.0.320
include
js
post.js 58KB
discuzcode.func.php 18KB
plugins
syntaxhighlighter
test.html 2KB
LGPLv3.txt 8KB
src
shCore.js 58KB
shLegacy.js 4KB
scripts
shBrushPlain.js 1KB
shBrushDelphi.js 3KB
shBrushAS3.js 3KB
shBrushBash.js 3KB
shBrushCss.js 6KB
shBrushGroovy.js 3KB
clipboard.swf 1KB
shBrushJScript.js 2KB
shBrushPowerShell.js 4KB
shBrushXml.js 2KB
shBrushCSharp.js 3KB
shBrushScala.js 2KB
shBrushRuby.js 3KB
shBrushPerl.js 4KB
shBrushCpp.js 6KB
shBrushPython.js 2KB
shCore.js 18KB
shBrushVb.js 3KB
shBrushJavaFX.js 3KB
shBrushPhp.js 6KB
shBrushDiff.js 2KB
shBrushSql.js 3KB
shLegacy.js 3KB
shBrushJava.js 2KB
styles
shThemeEmacs.css 4KB
help.png 786B
page_white_code.png 603B
shThemeRDark.css 4KB
shThemeDefault.css 4KB
magnifier.png 615B
shThemeFadeToGrey.css 4KB
shThemeMidnight.css 4KB
wrapping.png 631B
printer.png 731B
shCore.css 7KB
page_white_copy.png 309B
shThemeDjango.css 4KB
templates
default
header.htm 8KB
discuzcode.htm 11KB
footer.htm 5KB
效果图.jpg 10KB
说明.txt 7KB
共 48 条
- 1
资源评论
wkjs
- 粉丝: 43
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功