先看实例
http://bbs.qijoo.com/read.php?tid=27529
源插件代码全部送出
不过还有一些不足,请教哪位大人给一个[code=php] [code=js] [code=C#]之类的智能分析方法
已经解决了
具体的解决方法:
修改wind_editor.js
把function showcode改为如下内容:
function showcode() {
if (helpmode){
alert('代码标记\n使用代码标记,可以使你的程序代码里面的 html 等标志不会被破坏.\n使用方法:\n [code=代码类型]这里是代码文字[/code]');
} else if (nomode || document.selection && document.selection.type == "Text") {
AddTxt="\r[code=xml]"+text+"[/code]";
AddText(AddTxt);
} else {
txt2=prompt("代码类型 可以选择:php/c#/css/c/delphi/vb/sql/ruby/python/js/java/","xml");
if (txt2!=null) {
txt=prompt("输入代码","");
if (txt!=null) {
if (txt2=="") {
AddTxt="[code=xml]"+txt;
AddText(AddTxt);
AddTxt="[/code]";
AddText(AddTxt);
} else {
AddTxt="\r[code="+txt2+"]"+txt;
AddText(AddTxt);
AddTxt="[/code]";
AddText(AddTxt);
}
}
}
}
}
修改require\bbscode.php
第一处:
if(strpos($message,"[code]") !== false && strpos($message,"[/code]") !== false){
$message=preg_replace("/\[code\](.+?)\[\/code\]/eis","phpcode('\\1')",$message,$db_cvtimes);
}
后面加上以下的代码:
if(strpos($message,"[code=") !== false && strpos($message,"[/code]") !== false) {
$message=preg_replace("/\[code=(.+?)\](.+?)\[\/code\]/eis","phpcode('\\2','\\1')",$message,$db_cvtimes);
}
第二处:
把function phpcode改为下面的:
function phpcode($code,$code_type='xml'){
global $phpcode_htm,$codeid;
$code=str_replace("[attachment=","[attachment=",$code);//这里的后一个[,请参照原代码,这里被论坛过滤掉了
$code=str_replace("<br>","\n",$code);
$code=str_replace("[url]","",$code);
$code=str_replace("[/url]","",$code);
$code=str_replace("[img]","",$code);
$code=str_replace("[/img]","",$code);
$codeid ++;
$phpcode_htm[$codeid]="<textarea name=\"code\" class=\"$code_type\" cols=80>$code</textarea>";
return "<\twind_phpcode_$codeid\t>";
}
最后在模板footer.htm里加上
<script class="javascript" src="/code/shCore.js"></script>
<script class="javascript" src="/code/shBrushPhp.js"></script>
<script class="javascript" src="/code/shCore.js"></script>
<script class="javascript" src="/code/shBrushCSharp.js"></script>
<script class="javascript" src="/code/shBrushPhp.js"></script>
<script class="javascript" src="/code/shBrushJScript.js"></script>
<script class="javascript" src="/code/shBrushJava.js"></script>
<script class="javascript" src="/code/shBrushVb.js"></script>
<script class="javascript" src="/code/shBrushSql.js"></script>
<script class="javascript" src="/code/shBrushXml.js"></script>
<script class="javascript" src="/code/shBrushDelphi.js"></script>
<script class="javascript" src="/code/shBrushPython.js"></script>
<script class="javascript" src="/code/shBrushRuby.js"></script>
<script class="javascript" src="/code/shBrushCss.js"></script>
<script class="javascript" src="/code/shBrushCpp.js"></script>
<script class="javascript">
dp.SyntaxHighlighter.HighlightAll('code');
</script>
注:
论坛根目录下新建一个code目录
把附件里Scripts目录下所有的文件都放到code里面
[ 此贴被gnome在2006-12-04 16:31重新编辑 ]