php 中文字符串的比较,php 中文字符串截取函数-->比较好的

#============================================================================# 中文字符串截取函数# 参数说明:# $fStr:需要截最的原始字符串;# $fStart:从第几个汉字后开始载取,从头开始截取使用 0# $fLen:截取几个汉字# $fCode:原始字符串的编码方式,默认为 gb2312 或 big5,UTF-8 按 UTF-8 编码方式截取#----------------------------------------------------------------------------Function msubstr ($fStr, $fStart, $fLen, $fCode = "") {    switch ($fCode) {        case "UTF-8" :            preg_match_all("/[/x01-/x7f]|[/xc2-/xdf][/x80-/xbf]|/xe0[/xa0-/xbf][/x80-/xbf]|[/xe1-/xef][/x80-/xbf][/x80-/xbf]|/xf0[/x90-/xbf][/x80-/xbf][/x80-/xbf]|[/xf1-/xf7][/x80-/xbf][/x80-/xbf][/x80-/xbf]/", $fStr, $ar);            if(func_num_args() >= 3) {                if (count($ar[0])>$fLen) {                    return join("",array_slice($ar[0],$fStart,$fLen))."...";                }                return join("",array_slice($ar[0],$fStart,$fLen));            } else {                return join("",array_slice($ar[0],$fStart));            }            break;        default:            $fStart = $fStart*2;            $fLen   = $fLen*2;            $strlen = strlen($fStr);            for ( $i = 0; $i < $strlen; $i++ ) {                if ( $i >= $fStart && $i < ( $fStart+$fLen ) ) {                    if ( ord(substr($fStr, $i, 1)) > 129 ) $tmpstr .= substr($fStr, $i, 2);                    else $tmpstr .= substr($fStr, $i, 1);                }                if ( ord(substr($fStr, $i, 1)) > 129 ) $i++;            }            if ( strlen($tmpstr) < $strlen ) $tmpstr .= "...";            Return $tmpstr;    }}?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值