求助php判断字符长度的问题

大家好 !有个问题想请教一下 ,就是我在php的页面某个新闻的板块 。我想通过判断长度如果超过某个值的时候,就用...来填充超过长度范围的值。我知道有个函数可以判断的,就是通过strlen()。但是这样好像不行的,中文算一个字符固然没错;但是英文也占一个字符呀。如果我的公告出现有book这样的英文不就会导致判断异常 ?两个英文才代替得了一个中文的位置,有什么办法可以解决这个问题吗 ? 谢谢各位了!

1.string mb_substr ( string $str , int $start [, int $length [, string $encoding ]] )这个方法可以按指定编码截取字符串,只要$encoding指定为gbk即可
2.自己写循环处理
function chinesesubstr($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;
}
英文加1,汉字加2,只截取内容的指定长度,其它以...代替!
不知你是否明白?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-07-09
自己写个循环,计算里面有几个中文,几个英文

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网