截取汉字,出现乱码问题

我做一个新闻系统,显示新闻标题时只想显示二十个字符,都是汉字时没有问题,但是前面如果有英文字符时,就会出现乱码,怎么办?
---------------------------------------------------------------

在ctb.11cn.org 上抄来的一个函数。。

function msubstr($str,$start,$len) {
$strlen=$start+$len;
for($i=0;$i<$strlen;$i++) {
if(ord(substr($str,$i,1))>0xa0) {
$tmpstr.=substr($str,$i,2);
$i++;
} else
$tmpstr.=substr($str,$i,1);
}
return $tmpstr;
}

-------------------------------------

=$start+$len) break; if(ord(substr($str,$i,1))>0xa0) { if ($clen>=$start) $tmpstr.=substr($str,$i,2); $i++; } else { if ($clen>=$start) $tmpstr.=substr($str,$i,1); } } return $tmpstr; } Function showShort($str,$len) { $tempstr = csubstr($str,0,$len); if ($str<>$tempstr) $tempstr .= "..."; //要以什么结尾,修改这里就可以. return $tempstr; }
Published At
Categories with Web编程
Tagged with
comments powered by Disqus