曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3968|回复: 0
打印 上一主题 下一主题

phpwind8.3 代码高亮修改方法

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2011-3-5 20:28:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本文作者:phpwind lyn
说明:
1、这里说的是8.3版本的方法,其他版本修改方法应该类似,大家可以依葫芦画瓢
2、其实code下的js文件并未完全利用上,用不到的可以按需求删掉(js代码来源:SyntaxHighlighter 3.0.83版本
3、调用方法:[code=php ]代码[/mw_shl_code]、[code=cpp ]代码[/mw_shl_code]、[code=css ]代码[/mw_shl_code]类推,普通的[ code] [/ code]样式不受影响
4、不想自己改bbscode.php 可以直接下载附件:
require.rar

然后直接覆盖(可以省略步骤四)。
5、想要高亮其他的代码类型请自行依葫芦画瓢,但如果太贪心了小心得不偿失。
6、做任何修改之前请注意备份
7. 效果预览见:
http://www.groad.net/bbs/read.php?tid-3183.html


============以下是修改步骤==============
步骤一:下载附件
code.rar



步骤二:打开template/wind(或你使用的风格)/header.htm
找到:
[Plain Text] 纯文本查看 复制代码
<link rel='archives' title='$db_bbsname' href='$db_bbsurl/simple/' />

在下面添加:
[Plain Text] 纯文本查看 复制代码
<link type="text/css" rel="stylesheet" href="code/shCoreDefault.css"/>



步骤三:打开template/wind(或你使用的风格)/read.htm
文件最后添加(以下支持JS代码、PHP代码、C语言、CSS代码4种。另外需要什么语言高亮就添加code下的相应js文件,其中shCore.js必需有):

<script type="text/javascript" src="code/shCore.js"></script>
<script type="text/javascript" src="code/shBrushJScript.js"></script>
<script type="text/javascript" src="code/shBrushPhp.js"></script>
<script type="text/javascript" src="code/shBrushCpp.js"></script>
<script type="text/javascript" src="code/shBrushCss.js"></script>
<script type="text/javascript">SyntaxHighlighter.all();</script>

步骤四:打开require/bbscode.php
1、找到(注意去掉代码中[/CODE ]和[/code ]的空格)

[PHP] 纯文本查看 复制代码
]if (strpos($message,"[code ]") !== false && strpos($message,"[/code ]") !== false) {
        $message = preg_replace("/\[code\](.+?)\[\/code\]/eis","phpcode('\\1')",$message,$db_cvtimes);
    }

替换为(注意去掉代码中[/CODE ]和[/code ]的空格)
[PHP] 纯文本查看 复制代码
  if (strpos($message,'[/CODE ]') !== false || strpos($message,'[/code ]') !== false) {
        $searcharray = array(
            "/\[code\](.+?)\[\/code\]/eis",
            "/\[code=([#0-9a-z]{1,10})\](.+?)\[\/code\]/eis",
            );
        $replacearray = array(
            "phpcode('\\1')",
            "phpcode2('\\2','\\1')",
        );
        $message = preg_replace($searcharray,$replacearray,$message);
    }

2、找到
[PHP] 纯文本查看 复制代码
function phpcode($code){
    global $phpcode_htm,$codeid;
    $code = str_replace(array("[p_w_upload=",'\\"'),array("[p_w_upload=",'"'),trim($code));
    $codeid ++;
    $code = preg_replace('/^(<br \/>)?(.+?)(<br \/>)$/','\\2',$code);
    $code = str_replace("<br />", "</li><li>", $code);
    $phpcode_htm[$codeid] = "<div class=\"f12\"><a href=\"javascript:\"  onclick=\"CopyCode(document.getElementById('code$codeid'));\">".getLangInfo('bbscode','copycode')."</a></div><div class=\"blockquote2\" id=\"code$codeid\"><ol><li>".preg_replace("/^(\<br \/\>)?(.*)/is","\\2",$code)."</li></ol></div>";
    return "<\twind_phpcode_$codeid\t>";
}

下面添加:
[PHP] 纯文本查看 复制代码
function phpcode2($code,$type){
    global $phpcode_htm,$codeid;
    $code = str_replace(array("[p_w_upload=",'\\"'),array("[p_w_upload=",'"'),trim($code));
    $codeid ++;
    $code = str_replace("<br />", "\n", $code);
    $phpcode_htm[$codeid] = "<pre class=\"brush: $type;\">".$code."</pre>";
    return "<\twind_phpcode_$codeid\t>";
}


今天正值全国学习雷锋日,借此感谢作者的劳动以及无私奉献精神:)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-18 02:32 , Processed in 0.082083 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表