原先用的是PJBlog,但是没有语法高亮的功能(插件)很是让人遗憾,本准备弃用Bo-Blog的,突然发现Bo-Blog提供了一个代码高亮显示(着色)的插件,在PJ和BO我衡量了一阵...还是觉得PJ无论在功能、扩展、风格、易用性等等都强大些,于是...我就想能不能把这个插件移植到PJ中呢?...于是我就用我这菜菜功夫花了3个小时去分析代码、改代码、调试,还临时学了一下下ASP中的正则表达式...(调试期间忘了PJ要更新缓存,改了又改还是没有效果,一个多小时浪费在这上了)最后解决啦,开心哈.!
好了,废话少说.提供下载了(附修改方法):
1.下载文件后解压并把dphighlighter目录放至博客的images目录下
2.在common/ubbcodes.asp中找到
<<<<<<<已经更新!!!(压缩包已同步更新)
'-----------字体格式----------------
在其上方插入以下代码
re.Pattern = "\[codes=(.[^\]]*)\][\n\r]*(.+?)[\n\r]*\[\/codes]"
Set strMatchs=re.Execute(strContent)
For Each strMatch in strMatchs
tmpStr1=strMatch.SubMatches(0)
tmpStr2=replace(strMatch.SubMatches(1),"<br/>",CHR(10))
strContent=replace(strContent,strMatch.Value,"<textarea name=""code"" class="""&tmpStr1&""" rows=""15"" cols=""100"">"&tmpStr2&"</textarea>",1,-1,0)
strContent=replace(strContent,"\\","")
strContent=replace(strContent,"<br/>",CHR(10)) <<<<<<<<<此行删除
Next
更新原因:原来新增加的代码会把除[codes][/codes]内以外的内容的换行符全替换为HTML不可解释的CHR(10)。。。导致所以有使用codes标签的帖子正文无法正确换行。。。现在更新了,测试通过。。。对我的疏忽表示道歉。。。
3.将以下代码添加进header.asp中(可参考本博源代码)
<link rel="stylesheet" rev="stylesheet" href="images/dphighlighter/css/SyntaxHighlighter.css" type="text/css" media="all" /><!--代码高亮-->
4.将以下代码添加进footer.asp(可参考本博源代码)
<!--Begin代码高亮代码-->
<script class="javascript" src="images/dphighlighter/hl/shCore.js"></script>
<script class="javascript" src="images/dphighlighter/hl/shBrushCSharp.js"></script>
<script class="javascript" src="images/dphighlighter/hl/shBrushPhp.js"></script>
<script class="javascript" src="images/dphighlighter/hl/shBrushJScript.js"></script>
<script class="javascript" src="images/dphighlighter/hl/shBrushJava.js"></script>
<script class="javascript" src="images/dphighlighter/hl/shBrushVb.js"></script>
<script class="javascript" src="images/dphighlighter/hl/shBrushSql.js"></script>
<script class="javascript" src="images/dphighlighter/hl/shBrushXml.js"></script>
<script class="javascript" src="images/dphighlighter/hl/shBrushCss.js"></script>
<script class="javascript" src="images/dphighlighter/hl/shBrushCpp.js"></script>
<script class="javascript">dp.SyntaxHighlighter.HighlightAll('code');</script>
<!--End代码高亮代码-->
5.使用方法
[codes=语言]代码[/codes]
例:[codes=php]<?php echo("Hello World!");?>[/codes]
方括号内的"php"可替换为以下任意类型:
1. c
2. c#
3. css
4. js
5. delphi
6. java
7. php
8. python
9. ruby
10. vb
11. sql
12. xml
6.功能演示
http://www.stu5.cn/main/article.asp?id=10
○○××的猪窝
Blog:
www.stu5.cn/main/
Email: 2183760(a t)qq.com
2006.12.16 3:25
■本人仅做移植,程序所有权规原作(修改)者所有。
■■更新压缩包下载:(没办法在原帖上传新附件了……)
[
本帖最后由 zwws 于 2006-12-17 21:11 编辑 ]