在ZBlog的最新评论列表中,如果评论内容太短,同时又有回复的话,就会在列表中出现”[REVERT=...“这样的代码文字,当然到文章评论中看就自动转换为”回复“信息。为了消除列表中这样的文字,到网上寻找相关的修改方法,终于找到一篇(见http://www.stou.info/skill/145.html),整理如下:
第一,如果使用的是ZBlog原来的最新评论列表代码,即没有修改过原模板,则在FUNCTION目录中修改c_system_base.asp文件,在Function BlogReBuild_Comments()函数中找到Set objArticle=New TArticle一行,在它上面添加一行If InStr(Ucase(s),"[REVERT=")>0 Then s=split(s,"[REVERT=")(0)。
第二,如果使用了巴士飞扬的文章列表插件调用最新评论及回复的代码,则要修改PLUGIN目录中busfly_randomsort下的include.asp文件,找到函数busfly_randomsort_BlogReBuild_Comments(),在Set busfly_randomsort_objArticle=New TArticle上面增加一行代码If InStr(Ucase(s),"[REVERT=")>0 Then s=split(s,"[REVERT=")(0)
不过上面的方法却不完全适应我的情况,因为在评论列表中可能不会恰巧完整显示"[REVERT=",受列表显示字数限制,我的评论列表中有时只显示"[RE",所以修改后不能消除这样的字符,所以我做了修改,把If InStr(Ucase(s),"[REVERT=")>0 Then s=split(s,"[REVERT=")(0)改成If InStr(Ucase(s),"[R")>0 Then s=split(s,"[R")(0)。直接改成“[”也行,一般回复不会用到“[”,但对我的网站性质而言,可能会遇到贴各种代码的情况,还是用“[R”保险些。以上方法修改后ZBlog不用重建文件,可立即生效。
注,InStr函数用于查找指定字符或字符串在对象中的位置,如果找不到则值为0;Ucase函数用于返回字符串;split函数用于分割字符串,用法:split(要分割的字符串,分割处的字符),即从分割处的字符开始分割原字符串,结果是一个数组,所以上面用split(s,"[REVERT=")(0)表示分割后的第一个字段(也就是我们要的回复内容,不包括"[REVERT="),而split(s,"[REVERT=")(1)表示分割后的第二字段(也不包括"[REVERT=")。
>> 除非说明均为原创,如转载请注明来源于http://www.stormcn.cn/post/894.html