中文WordPress工具箱(1.2)一个不易发现的bug

昨天在一篇博客的时候,发布后,用IE浏览网站首页时候发现页面格式都乱,右边栏跑到最下面去了,不过在firefox下浏览正常。我就感到奇怪我根本没有动主题模板,如何会有这样的问题呢?然后我把已经发布的文章设置为草稿,在浏览网站首页发现正常了,看来问题出在文章上。经过反复的检查发现,原来问题出在中文WordPress工具箱(1.2)的摘要发布上,有个不易发现的:这个中文摘要是截取最前面一部分的正文作为摘要,如果截取的字符最后一个字符刚好是一个html的标记前半部分,比如<p,出来效果就是:………<p…,则标记的后半部分的尖括号:>,就被去掉了,从而导致html标记不完整,导致页面不正常。当然,这样的bug需要运气比较“好”才可以碰到。如果要修正的这样的错误,治标的办法(也是比较偷懒的办法)就是修改博文内容加字数或者减字数,躲过这个“点”。治标的办法就是修改“中文WordPress工具箱”程序去,检测截取的最后一个字符,如果碰到html标记就增加或减少截取的字符串。

修改的方法,把下面的一段代码:

$myexcerpt = substr($excerpt,0,255);
return utf8_trim($myexcerpt) . ‘… ‘;

改成:

$myexcerpt = substr($excerpt,0,255);
if(strlen($myexcerpt)==strlen($excerpt))
return $excerpt;
else{
if(($pos_myexcerpt = strrpos($myexcerpt, “<")) > strrpos($myexcerpt, “>”))
$myexcerpt=substr($myexcerpt, 0, $pos_myexcerpt);
return ” . strip_tags(utf8_trim($myexcerpt), ‘
‘) . ‘……’;
}

本文地址://www.watch-life.net/wordpress/wordpress-cntools-little-bug.html

你可能也会喜欢以下文章:

中文WordPress工具箱(1.2)一个不易发现的bug》上有2条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注