| 支持多种编码的中文字符串截取函数! <div class="codetitle"><a style="CURSOR: pointer" data="14806" class="copybut" id="copybut14806" onclick="doCopy('code14806')"> 代码如下:<div class="codebody" id="code14806">
 /
 @todo中文截取,支持gb2312,gbk,utf-8,big5
 
 @paramstring$str要截取的字串
 @paramint$start截取起始位置
 @paramint$length截取长度
 @paramstring$charsetutf-8|gb2312|gbk|big5编码
 @param$suffix是否加尾缀
 */ functioncsubstr($str,$start=0,$length,$charset="utf-8",$suffix=true)
 {
 if(function_exists("mb_substr"))
 returnmb_substr($str,$start,$charset);
 $re['utf-8']="/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/";
 $re['gb2312']="/[x01-x7f]|[xb0-xf7][xa0-xfe]/";
 $re['gbk']="/[x01-x7f]|[x81-xfe][x40-xfe]/";
 $re['big5']="/[x01-x7f]|x81-xfe/";
 preg_match_all($re[$charset],$str,$match);
 $slice=join("",array_slice($match[0],$length));
 if($suffix)return$slice."…";
 return$slice;
 }
 
 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |