PHP中经常要用到一些,针对字符的处理。比如截取动作。使用系统自带的substr函数的时候对汉字处理上会存在问题,出现字符混乱的问题,因为汉字在里面是存在连个字符,而英文是一个字符。substr处理的时候就会对汉字出现问题。
下面这里给出一个可以用的PHP截取函数。验证可用。
- <?php
- function sysSubStr($String,$Length,$Append = false)
- {
- if (strlen($String) <= $Length )
- {
- return $String;
- }
- else
- {
- $I = 0;
- while ($I < $Length)
- {
- $StringTMP = substr($String,$I,1);
- if ( ord($StringTMP) >= 224 )
- {
- $StringTMP = substr($String,$I,3);
- $I = $I + 3;
- }
- elseif( ord($StringTMP) >= 192 )
- {
- $StringTMP = substr($String,$I,2);
- $I = $I + 2;
- }
- else
- {
- $I = $I + 1;
- }
- $StringLast[] = $StringTMP;
- }
- $StringLast = implode("",$StringLast);
- if($Append)
- {
- $StringLast .= "...";
- }
- return $StringLast;
- }
- }
- ?>
转载于:https://blog.51cto.com/leexiaobo/935684