|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
PHP代码:-------------------------------------------------------------------------------- function ccStrLen($str) #计算中英文混合字符串的长度 { $ccLen=0; $ascLen=strlen($str); $ind=0; $hasCC=ereg("[xA1-xFE]",$str); #判定是否有汉字 $hasAsc=ereg("[x01-xA0]",$str); #判定是否有ASCII字符 if($hasCC && !$hasAsc) #只有汉字的情况 return strlen($str)/2; if(!$hasCC && $hasAsc) #只有Ascii字符的情况 return strlen($str); for($ind=0;$ind<$ascLen;$ind++) { if(ord(substr($str,$ind,1))>0xa0) { $ccLen++; $ind++; } else { $ccLen++; } } return $ccLen; } function ccStrLeft($str,$len) #从左边截取中英文混合字符串 { $ascLen=strlen($str); if($ascLen<=$len) return $str; $hasCC=ereg("[xA1-xFE]",$str); #同上 $hasAsc=ereg("[x01-xA0]",$str); if(!$hasCC) return substr($str,0,$len); if(!$hasAsc) if($len & 0x01) #假如长度是奇数 return substr($str,0,$len+$len-2); else return substr($str,0,$len+$len); $cind=0;$flag=0; while($cind<$ascLen) { if(ord(substr($str,$cind,1))<0xA1) $flag++; $cind++; } if($flag & 0x01) return substr($str,0,$len); else return substr($str,0,$len-1); } -------------------------------------------------------------------------------- __________________ ┌──┬──┐ │ ?q┘ │ │ ?t┐?q?r│ ├┐┌┼┘└┤ │?t?s└?r │ │ ┌?s │ └──┴──┘ 参考 http://www.csdn.net/develop/Read_Article.asp?Id=20454 返回类别: 教程 上一教程: 第十四节--命名空间 -- Classes and Objects in PHP5 [14] 下一教程: 今天和大家探讨一个很重要的问题??密码安全 您可以阅读与"如何准确统计中文字数?"相关的教程: · PHP实现在图片中添加中文文字 · 一个中文字符串截取函数,巨爽~~~! · PHP中一个中文字符串截取函数 · 旧题新貌:PHP截取中文字符串的问题 · PHP如何统计在线人数 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |