今天修改了一些O-Blog 3.0的BUG
今天新装了我的博客系统(O-Blog 3.0),使用过程中发现了一些问题,问了半天也都没人回答,所以自己翻翻代码,修改起来了。不知如下的修改是否仍有BUG?
写完日志后再编辑(用FCK&Sina编辑器)会出现html标签
我想应该是出在这个HTML编辑里,查看了代码,在存进去之前,将内容用函数 htmlspecialchars 处理。我也实在看不懂这编辑里的代码了,所以我就想,竟然存进数据库里的会出现html标签(即< 换成 <),那么我想也应该是本该不用HTML代码处理,但却多处理了一次,所以我就将:
$content = checkPost(htmlspecialchars($_POST['message']));
换成了:$content = checkPost($_POST['message']);
从代码里看我这做法应该是不对的,但是问题解决了,也就没兴趣再研究下去,等以后有时间再看看
- 首页进行文章截取时有点乱
不能不说作者的这段文章截取函数 htmlSubString 还是查当不错的,很多方面都考虑到了。可我用时,首页出现了截取的文字后有很多的 <BR> 和 <LI> 弄的后跟了一大堆的空白行。一看就想应该是没有过虑 <BR> 这些标记了,但一打开却发现作者已经有考虑到了,那么很明显,应该是条件语句有些问题,经过了多次的调试终于改正过来。而且也发现函数在做“标签数相称”记数过程也有错误。我是一边调试,一边修改,现在也记不清到底修改了哪几处,当脆把修改后的发上来了。
if ($wordend==false) //dreamboymt 本段修改了好几处
{
$outstr.=$value;
if (preg_match("/<\/([^>]*?)>/is",$value,$matches)){ $endTags++; }
else if (!preg_match("/<img([^>]*?)>/is",$value) && !preg_match("/<param([^>]+?)>/is",$value) && !preg_match("/<!([^>]+?)>/is",$value) && !preg_match("/<br([^>]*?)>/is",$value) && !preg_match("/<hr([^>]*?)>/is",$value)) {
$beginTags++; //除img,br,hr外的标签都加1
}
}else if (preg_match("/<\/([^>]*?)>/is",$value,$matches)){
$endTags++;
$outstr.=$value;
if ($beginTags==$endTags && $wordend==true) break; //字已载完了,并且标签数相称,就可以退出循环。
}else{
if (!preg_match("/<img([^>]*?)>/is",$value) && !preg_match("/<param([^>]+?)>/is",$value) && !preg_match("/<!([^>]+?)>/is",$value) && !preg_match("/<br([^>]*?)>/is",$value) && !preg_match("/<hr([^>]*?)>/is",$value) && !preg_match("/<ui([^>]*?)>/is",$value) && !preg_match("/<li([^>]*?)>/is",$value)) {
$beginTags++; //除img,br,hr,ui,li外的标签都加1
$outstr.=$value;
}
}以上就是我修改后的代码。
古典家具E网 | 古典家具壹网
古典家具E网(http://www.cfwin.com)成立于2007年。古典家具E网与古典家具爱好者一起宣传中国古典家具知识,弘扬传统文化,开拓古典家具销售渠道,倡导消费者积极正确的消费理念,致力于推进中国古典家具行业发展。