• 2403阅读
  • 0回复

生成一个不超过指定长度的字符串函数 [复制链接]

上一主题 下一主题
离线cai
 

只看楼主 倒序阅读 0楼 发表于: 2005-01-05
生成一个不超过指定长度的字符串函数

功能:
将一个字符串转换成不超过特定长度(以字节计算)的字符串
返回:
转换后不超过指定长度(以字节计算)的字符串
参数:
$str 待转换的字符串
$len 最大长度(以字节计算)
<?php

*/
function fixlenstr($str,$len){
$str = (string)$str;
$len = (int)$len;

$strlen = strlen($str);
if($len>$strlen) $len = $strlen;

$i = 0;
$fixlen = 0;
while($i<$len){
$chr = $str[$i];
$i++;
if(ord($chr)<0x80) $fixlen++;
elseif($i<$len){
$i++;
$fixlen += 2;
}
}

return substr($str,0,$fixlen);
}

/*测试
$test = array(
'工了a以b在d有e' => array('ab',-2,0,1,'1',3,4,5,6,14,16)
);

while(list($str,$len)=each($test)){
echo $str . '<hr>';
$count = count($len);
for($i=0;$i<$count;$i++){
$fixlenstr = fixlenstr($str,$len[$i]);
echo $len[$i] . ' ==> ' . $fixlenstr . ' ==> ' . strlen($fixlenstr) . '<br>';
}
}
*/
?>
grant all privileges on *.* to 'a'@'localhost' identified by 'a' with grant option;flush privileges;
快速回复
限100 字节
 
上一个 下一个