dz开启php5.5,Discuz5.5.0代码高亮显示+运行代码框合成插件 下载

主要功能:

1.几乎支持所有程序代码的高亮显示,包括以下语言:Actionscript、ADA、Apache Log、AppleScript、ASM、ASP、AutoIT、Backus-Naur form、Bash、BlitzBasic、C、C for Macs、C#、C++、CAD DCL、CadLisp、CFDG、CFDG、ColdFusion、CSS、Delphi、DIV、DOS、Eiffel、Fortran、Fortran、FreeBasic、GML、Groovy、HTML、Inno、IO、Java、Java 5、Javascript、LaTeX、Lisp、Lua、Microprocessor ASM、mIRC、MySQL、NSIS、Objective C、OCaml、OpenOffice BASIC、Oracle 8 SQL、Pascal、Perl、PHP、PL/SQL、Python、Q(uick)BASIC、robots.txt、Ruby、SAS、Scheme、SDLBasic、Smalltalk、Smarty、SQL、T-SQL、TCL、thinBasic、Uno IDL、VB.NET、Visual BASIC、Visual Fox Pro、Winbatch、X++、XML、Z80 ASM等等。

2.代码运行框,含复制代码、运行代码、另存代码三项功能。

使用方法:

1.如果你想高亮一种语言代码,可以使用下面的格式:

[languge=html]这里是HTML代码[/language]

[languge=xml]这里是XML代码[/language]

[languge=css]这里是CSS代码[/language]

[languge=javascript]这里是Javascript代码[/language]

[languge=asp]这里是ASP代码[/language]

[languge=php]这里是PHP代码[/language]

[languge=java]这里是Java代码[/language]

[languge=cpp]这里是C++代码[/language]

[languge=csharp]这里是C#代码[/language]

[languge=mysql]这里是Mysql代码[/language]

2.如果你只是想一段代码可以运行,则可以使用默认的

格式。

安装方法:

1.下载解压压缩包,如果你使用的是默认模板,并且以前没有修改过以下几个文件:

/viewthread.php

/include/discuzcode.func.php

/include/global.func.php

/include/javascript/common.js

那么,您可以直接将其解压缩后的文件上传到网站根目录即可,其他模板可以参照后面的修改方法进行修改。

2.如果您以前修改过其中的一些或所有文件,你可以按照以下的说明,修改你以前修改过的文件,没有修改过的就直接上传覆盖就可以了:

(1)/viewthread.php

找到:

[code]

$post['message'] = discuzcode($post['message'], $post['smileyoff'], $post['bbcodeoff'], $post['htmlon'], $forum['allowsmilies'], $forum['allowbbcode'], ($forum['allowimgcode'] && $showimages ? 1 : 0), $forum['allowhtml'], ($forum['jammer'] && $post['authorid'] != $discuz_uid ? 1 : 0), $pasetype, $post['authorid']);

改为

$post['message'] = discuzcode($post['message'], $post['smileyoff'], $post['bbcodeoff'], $post['htmlon'], $forum['allowsmilies'], $forum['allowbbcode'], ($forum['allowimgcode'] && $showimages ? 1 : 0), $forum['allowhtml'], ($forum['jammer'] && $post['authorid'] != $discuz_uid ? 1 : 0), $pasetype, $post['authorid'],$thread['subject']);                        //-----zouql代码运行开始------                        $post['message'] = preg_replace("/\s*id=\"cmsmb_htmlcode\"(.+?)textarea\s*/ies", "cmsmb_no_br('$1')", $post['message']);                        //----------------------------

(2)/include/discuzcode.func.php

①找到:

if(!defined('IN_DISCUZ')) {

前面添加

include_once('geshi.php');

②将下面这段代码放在其它函数结束的地方添加,比如:

找到:

return ($htmlon || $allowhtml) && $parsetype != 1 ? $message : nl2br(str_replace(array("\t", '   ', '  '), array('            ', '     ', '    '), $message));}

在后面添加:

//分析语言高亮显示

function paste_language($language,$text)        {                 $text = str_replace("  ", "  ", $text);                 $text = str_replace(">", ">", $text);                $text = str_replace("<", "enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 5);                 $text->set_overall_style('font:12px Verdana, Courier, monospace; color: #000066; border: 1px solid #d0d0d0; background-color: #fff;', true);                 $text->set_line_style('font:12px Verdana, Courier, monospace; color: #003030;', 'font-weight: bold; color: #006060;', true);                $text->set_code_style('font:12px Verdana, Courier, monospace; color: #000020;', 'color: #000020;');                 $text->set_link_styles(GESHI_LINK, 'color: #000060;');                $text->set_link_styles(GESHI_HOVER, 'background-color: #f0f000;');                 $text->set_header_content('54geek.com © 2007. 代码语言:'.$language);                $text->set_header_content_style('font-family:  Arial,Verdana,sans-serif; color: #808080; font-size: 12px; background-color: #f0f0ff; border-bottom: 1px dotted #d0d0d0; padding: 2px;');                 $text->set_footer_content('Parsed in  seconds,  using GeSHi ');                $text->set_footer_content_style('font-family:  Arial,Verdana,sans-serif; color: #808080; font-size: 12px; background-color: #f0f0ff; border-top: 1px dotted #d0d0d0; padding: 2px;');                //echo "$text->parse_code()";                //return  preg_replace("#<br />#", "", $text->parse_code());                return $text->parse_code();        }

③找到

function discuzcode($message, $smileyoff, $bbcodeoff, $htmlon = 0, $allowsmilies = 1, $allowbbcode = 1, $allowimgcode = 1, $allowhtml = 0, $jammer = 0, $parsetype = '0', $authorid = '0') {

改为

function discuzcode($message, $smileyoff, $bbcodeoff, $htmlon = 0, $allowsmilies = 1, $allowbbcode = 1, $allowimgcode = 1, $allowhtml = 0, $jammer = 0, $parsetype = '0', $authorid = '0', $title='') {

④找到:

if($parsetype != 1 && !$bbcodeoff && $allowbbcode) {                $message = preg_replace("/\s*\[code\](.+?)\[\/code\]\s*/ies", "codedisp('\\1')", $message);        }

改为

if($parsetype != 1 && !$bbcodeoff && $allowbbcode) {                $message = preg_replace("/\s*\[code\](.+?)\[\/code\]\s*/ies", "code_htmldisp('\\1','$title')", $message);                //$message = preg_replace("/\s*\[html\](.+?)\[\/html\]\s*/ies", "code_htmldisp('\\1')", $message);        }

⑤找到下面函数后:

function codedisp($code) {        global $discuzcodes;        $discuzcodes['pcodecount']++;        $code = htmlspecialchars(str_replace('\\"', '"', preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1", $code)));        $discuzcodes['codehtml'][$discuzcodes['pcodecount']] = " [Copy to clipboard]CODEcode";        $discuzcodes['codecount']++;        return "[\tDISCUZ_CODE_$discuzcodes[pcodecount]\t]";}

后面再加一个函数:

function code_htmldisp($code,$mytitle='') {        global $discuzcodes;        $mytitle .= '-code';        $discuzcodes['pcodecount']++;        $discuzcodes['codecount']++;        $code = htmlspecialchars(str_replace('\\"', '"', preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1", $code)));        $discuzcodes['codehtml'][$discuzcodes['pcodecount']] = "

$code    提示:您可以先修改部分代码再运行
";        return "[\tDISCUZ_CODE_$discuzcodes[pcodecount]\t]";}

⑥查找

if(!in_array($parsetype, array(1, 2)) && preg_match("/\[hide=?\d*\].+?\[\/hide\]/is", $message)) {

在前面添加:

$message = preg_replace("/\s*\[language=(.+?)\](.+?)\[\/language\]\s*/ies", "paste_language('\\1','\\2')", $message);

(3)/include/global.func.php

在顶部

if(!defined('IN_DISCUZ')) {        exit('Access Denied');}

后加入:

//-----zouql代码运行开始------function cmsmb_no_br($str) {        $cmsmb_ori = array('
', ' ');        $cmsmb_new = array('', ' ');        $str1 = str_replace($cmsmb_ori,  $cmsmb_new, $str);        $str1 = $str1."textarea";        return $str1;}//-------------------------------

(4)/include/javascript/common.js

在最后加入下面三个函数即可:

function runCode(obj) {        var winname = window.open('', "_blank", '');        winname.document.open('text/html', 'replace');        winname.opener = null // 防止代码对论坛页面修改        winname.document.write(obj.value);        winname.document.close();}function copycode(obj) {        var rng = document.body.createTextRange();        rng.moveToElementText(obj);        rng.scrollIntoView();        rng.select();        rng.execCommand("Copy");        rng.collapse(false);}function saveCode(obj,name) {        var myname = name + '.htm';                var winname = window.open('', '_blank', 'top=10000');        winname.document.open('text/html', 'replace');        winname.document.write(obj.value);        winname.document.execCommand('saveas','',myname);        winname.close();}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Discuz!是国内最知名的论坛软件程序,用户遍布全球。Discuz! 5.5.0为最新版本拥有首创的论坛Mini-Space、独家防落陷系统、全新的道具中心、多样的广告位布局、实用的WAP功能等多达几十项的创新和数百处的改进,是目前为止社区软件论坛的最强之作。 十大创新 创新一:独创的Mini-Space系统,轻松打造个人迷你空间 创新二:全新的论坛道具系统,吸取更多网游元素 创新三:超级全局设置功能,站长工作更加轻松 创新四:完善的JS调用功能,实现网站页面的轻松定制 创新五:智能化限制搜索引擎无效访问,提升网站性能 创新六:变更主题缓存机制 ,有效减轻服务器负载 创新七:增强型验证码、验证问题机制,有效杜绝灌水机 创新八:防御策略全面调整,有效防御CC攻击 创新九:独家防陷落系统,保障论坛数据安全 创新十:实用的文件、数据库校验工具,提站长工作效率 四大精彩 精彩一:广告位布局多样合理,迎接“站长盈利”时代 精彩二:WAP功能大幅度改进,全力跟随市场时尚步伐 精彩三:升级的远程附件功能,拥有更多新特性 精彩四:强化系统数据库备份功能,MYSQL 各版本自动兼容 四打点一:纯绿色上传机制,支持自由图文混排, 点二:自动保存帖子内容,杜绝内容意外丢失 点三:后台积分策略向导,简单傻瓜式操作 点四:增加特殊主题搜索,精确定位搜寻目标
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值