/**
*
* 中英混合字符串长度判断
* @param unknown_type $str
* @param unknown_type $charset
*/
functionstrLength($str,$charset='utf-8') {
if($charset=='utf-8')
$str= iconv ('utf-8','gb2312',$str);
$num=strlen($str);
$cnNum= 0;
for($i= 0;$i<$num;$i++) {
if(ord (substr($str,$i+ 1, 1 ) ) > 127) {
$cnNum++;
$i++;
}
}
$enNum=$num- ($cnNum* 2);
$number= ($enNum/ 2) +$cnNum;
returnceil($number);
}
/**
*
* 中英混合的字符串截取
* @param unknown_type $sourcestr
* @param unknown_type $cutlength
*/
functioncut_str($sourcestr,$cutlength) {
$returnstr=''
$i= 0;
$n= 0;
$str_length=strlen($sourcestr);//字符串的字节数
while( ($n<$cutlength)and($i<=$str_length) ) {
$temp_str=substr($sourcestr,$i, 1 );
$ascnum= Ord ($temp_str);//得到字符串中第$i位字符的ascii码
if($ascnum>= 224)//如果ASCII位高与224,
{
$returnstr=$returnstr.substr($sourcestr,$i, 3 );//根据UTF-8编码规范,将3个连续的字符计为单个字符
$i=$i+ 3;//实际Byte计为3
$n++;//字串长度计1
}elseif($ascnum>= 192)//如果ASCII位高与192,
{
$returnstr=$returnstr.substr($sourcestr,$i, 2 );//根据UTF-8编码规范,将2个连续的字符计为单个字符
$i=$i+ 2;//实际Byte计为2
$n++;//字串长度计1
}elseif($ascnum>= 65 &&$ascnum<= 90)//如果是大写字母,
{
$returnstr=$returnstr.substr($sourcestr,$i, 1 );
$i=$i+ 1;//实际的Byte数仍计1个
$n++;//但考虑整体美观,大写字母计成一个高位字符
}else//其他情况下,包括小写字母和半角标点符号,
{
$returnstr=$returnstr.substr($sourcestr,$i, 1 );
$i=$i+ 1;//实际的Byte数计1个
$n=$n+ 0.5;//小写字母和半角标点等与半个高位字符宽...
}
}
if($str_length>$cutlength) {
$returnstr=$returnstr."...";//超过长度时在尾处加上省略号
}
return$returnstr;
}
代码如下 | 复制代码 |
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔