Get Recent Comments 中文改良版

注意:转载本文请说明出处,谴责赤裸裸的剽窃行为!

正式弃用了中文工具箱,采用Get Recent Comments插件来显示最新评论。

这个插件可以在后台设置在每隔多少长度插入一个空格来防止因为评论过长破坏页面布局,但是因为中文问题原版插件在插入空格时可能插入到一个中文字符的中间从而导致乱码问题,这里提供一个自己改良了的版本。

原版插件默认使用的是空格来插入评论达到换行的目的,我换成了<wbr />(软换行标签,表示此处可换行)。好处是评论显示时都是连续的而不会产生多余的空格,可能存在的问题是此标签不被某些浏览器所支持,根据需要自己修改一下参数即可。

调用方法:

Recent Comments


下载:
Get Recent Comments(based on v2.0.2, for WP 2.3 and later version)
更新日志:
2007-09-26 作者很勤快,我也勤快点,更新至v2.0.2,增加包含/不包含分类的选项设置
2007-09-25 基于原版2.0修改适应WordPress 2.3的最新版本,节约数据库开销,修复若干bug,推荐更新

下载:
Get Recent Comments(based on v1.5.5, for WP 2.2 and earlier version)
更新日志:
更新1:修改了执行utf8_wordwrap的顺序,先截取摘要再插入标签,解决截断标签的问题和因为插入标签影响截取长度的问题。

更新2:有时候最新评论并不马上出现,这是因为使用了cache的原因,对于我这样已经使用了WP_Cache插件的用户来说并无意义,最简单的更改方法是搜索“$use_cache = TRUE;”,将TRUE改为FALSE并保存。

更新3@2007-05-01:删除一句可能导致程序执行错误的语句,不明白原作者的意图

更新4@2007-05-27:修复由于插件调用WP的wptexturize函数导致的乱码问题,改为先截取以后再执行wptexturize

更新6@2007-08-09:完全解决末尾半个字符的问题

更新7@2007-08-10:修正一个以前的错误逻辑,可能导致插入过多的无效标签

更改方法:


function utf8_trim($str) {

$len = strlen($str);

for ($i=strlen($str)-1; $i>=0; $i-=1){
$hex .= ‘ ‘.ord($str[$i]);
$ch = ord($str[$i]);
if (($ch & 128)==0) return(substr($str,0,$i));
if (($ch & 192)==192) return(substr($str,0,$i));
}
return($str.$hex);
}

function utf8_substr($str, $len) {
$slen = strlen($str);
for ($i = 0; $i < $len && $i < $slen; $i++) { $temp_str = substr($str, 0, 1); if (ord($temp_str) > 127) {
$i ++;
if ($i < $len) { $new_str[] = substr($str, 0 ,3); $str = substr($str, 3); } } else { $new_str[] = substr($str, 0 ,1); $str = substr($str, 1); } } return join('', $new_str); } function utf8_wordwrap($instr, $width, $s = '‘) {
$outstr = ”;

do {
$len = strlen($instr);
if (strlen($instr) > $width) {
$tmpstr = utf8_substr($instr, $width);
$outstr .= $tmpstr;
$outstr .= $s;
} else {
$tmpstr = $instr;
$outstr .= $tmpstr;
}
$instr = substr($instr, strlen($tmpstr), $len);
} while (strlen($instr) > 0);

return $outstr;
}

Get Recent Comments 中文改良版》上有34条评论

  1. 友情链接

    友情链接库说明: 友情链接是网站推广的重要方法之一,本网站应广大站长请求,开发本平台,本站的特点是:本站收集长站的qq,只要你来我站,你就可以和成千上万的站长实现在线沟通,简单、方便,一改之前,因沟通不便,而使本应可以互换的友情链接,而无法做成。为了加入本网的所有网站公平在首页出现,只要从你站有客户来我站,你的站马上就会排到第一,使贵站马上就会出现在成千上万的站长眼前。

  2. hansen

    hi,用了你改良后的这个插件,解决了一部分乱码问题,但发现如果留言中最后有…符号就还有乱码,有办法解决吗?

    Thanks and best wishes!

  3. Sunshow 文章作者

    我也发现…后面会出现230之类的东西,等我上班了看看,在家呆着就是懒啊

  4. 5468sun

    在我这里还是有问题~
    在”…” 之前会出现”?”,
    不知道是什么原因~

  5. 郁也风

    呵呵,你好,我也有与楼上同样的问题啊。

    还请移架到俺的blog上看一下吧,3kx

  6. 潘大财经

    Sunshow你好,非常感谢你提供这个插件下载。我在试用时,也出现了5楼和7楼回复中所提到的问题,我在你的插件的基础上做了一点小修改,目前经过测试,已经解决掉这个问题了,现在提供下载,下载地址在

    http://www.panda100.com/download/wordpress/get-recent-comments.zip

    你可将其放于你的网站,供网友下载。由于本人博客所面向的访问者主要不是技术人士,加之服务器有流量限制,在你下载后,我会将该下载地址删除。

  7. 潘大财经

    原插件的具体现象,由于5楼没有给出地址,你可参考我的上一篇评论,在贵站右边sidebar的recent comments中“也出现了5楼和7楼”这段话之后,是出现了一个怪字符的。

  8. Sunshow 文章作者

    @潘大财经:已经把你的修改放上去了,不过对于没有mb_strimwidth函数的应该还是会有问题。不过一般国内主机应该都有这个,暂时先这样吧。

    非常感谢以上几位朋友的提醒。

  9. Sunshow 文章作者

    好了,彻底解决了这个问题,呵呵。
    请以上几位朋友重新下载~

  10. 潘大财经

    我下载了最新版的,目前完全正常。

  11. 潘大财经

    我用vim diff了一下,确实比我那个hotfix写的高明多了,非常感谢Sunshow能把自己修改的版本共享出来。

  12. Pingback引用通告: 中文互联网观察站

  13. misser

    我下载了最新的(v2.02)改良版,为什么还是有乱码呢?哪位大虾能过来看看么,谢谢 :)

  14. misser

    Hi Sunshow, 刚才不知是不是刷新的问题(我连续刷了几次呀…), 现在已经正常了,非常感谢 :D

评论已关闭。