文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Discuz!论坛实现PHP代码高亮

Discuz!论坛实现PHP代码高亮

时间:2008-05-17  来源:剑心通明


插件演示地址:Discuz!论坛实现
[url=javascript:;]PHP[/url]
[url=javascript:;]代码[/url]
高亮:http://www.phpq.net/bbs/thread-5-1-1.html
插件添加步骤如下:
修改include/discuzcode.func.php
查找
[php]function codedisp($code) {
        global $discuzcodes;
        $discuzcodes['pcodecount']++;
        $code = htmlspecialchars(str_replace('\\"', '"', preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "
[url=file://0.0.0.1/]\\1[/url]
", $code)));
        $discuzcodes['codehtml'][$discuzcodes['pcodecount']] = tpl_codedisp($discuzcodes, $code);
        $discuzcodes['codecount']++;
        return "[\tDISCUZ_CODE_$discuzcodes[pcodecount]\t]";
}[/php]
在下面添加:
CODE:
function phpcodedisp($code) {
        global $discuzcodes;
        $discuzcodes['pcodecount']++;
        $code = phphighlite(str_replace('\\"', '"', preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "
[url=file://0.0.0.1/]\\1[/url]
", $code)));
        $discuzcodes['codehtml'][$discuzcodes['pcodecount']] = "复制内容到剪贴板HP代码:{$code}";
        $discuzcodes['codecount']++;
        return "[\tDISCUZ_CODE_$discuzcodes[pcodecount]\t]";
}
function phphighlite($code) {
        if(!strpos($code,"';
                $addedtags = 1;
        }
        ob_start();
        $oldlevel = error_reporting(0);
        highlight_string($code);
        error_reporting($oldlevel);
        $buffer = ob_get_contents();
        ob_end_clean();
        if ($addedtags) {
                $openingpos = strpos($buffer, '?');
                $closingpos = strrpos($buffer, '?');
                $buffer = substr($buffer, $openingpos+1, $closingpos-($openingpos+1)).substr($buffer, $closingpos+5);
        }
        $buffer = str_replace('"', "\"", $buffer);
        $buffer = str_replace('
', '', $buffer);
        return $buffer;
}
继续修改include/discuzcode.func.php
查找[php]if($parsetype != 1 && !$bbcodeoff && $allowbbcode) {
     $message = preg_replace("/\s*\[code\](.+?)\[\/code\]\s*/ies", "codedisp('\\1')", $message);
}[/php]在其下面添加:[php]
if($parsetype != 1 && !$bbcodeoff && $allowbbcode) {
        $message = preg_replace("/\s*\[php\](.+?)\[\/php\]\s*/ies", "phpcodedisp('\\1')", $message);
}[/php]修改include/javascript/editor.js
查找
CODE:
insertText(text, strlen(opentag), strlen(closetag), in_array(tagname, ['code', 'quote', 'free', 'hide']) ? true : false);
修改为
CODE:
insertText(text, strlen(opentag), strlen(closetag), in_array(tagname, ['code', 'quote', 'free', 'hide', 'php']) ? true : false);
继续修改include/javascript/editor.js
查找
CODE:
if(in_array(cmd, ['quote', 'code', 'free', 'hide'])) {
修改为
CODE:
if(in_array(cmd, ['quote', 'code', 'free', 'hide', 'php'])) {
6.修改templates/default/post_bbinsert.htm
查找
CODE:
在下面添加
CODE:
然后上传bb_php.gif到 images/common 目录下


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载