php mb_substr
大家好 !有个问题想请教一下 ,就是我在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,只截取内容的指定长度,其它以...代替! 不知你是否明白?
顶(0)
踩(0)
- 最新评论