从$utf8_string截取不大于$len字节的的字符串

函数功能:从$utf8_string截取不大于$len字节的的字符串

PHPChina 开源社区门户:jMPV&[b}5Lf%P
<?php
X [T'B3buHv31957
//函数功能:从$utf8_string截取不大于$len字节的的字符串
&L/zrX Ye(iU31957
function utf8_str_cut($utf8_string$len
) {
-@f-tl2A+eU31957    
//
0H!m U:go*p/*Y31957    // 这个阵列是跟MB_STRING里面的libmbfl/filters/mbfilter_utf8.c借用的PHPChina 开源社区门户)z'?xqy#LPQ?
    
$mblen_table_utf8 
= array(
J^/n G ` |wQ31957      
1111111111111111
,
N"b+w+U+ohov31957      
1111111111111111
,
a4M"yre4g6|5d31957      
1111111111111111
,
F8_m.VqO`w31957      
1111111111111111
,PHPChina 开源社区门户D8W3Q$?hS
      
1111111111111111
,
k;N!A gej31957      
1111111111111111
,
+D9R5A)fsMZCk31957      
1111111111111111
,
-L hn4A%w X5a9t31957      
1111111111111111
,
w7nd%Ms!d6l31957      
1111111111111111
,PHPChina 开源社区门户'{,oOo+C y%k"y
      
1111111111111111
,
db)_v&UR?2u} U31957      
1111111111111111
,
W"s u x{*yG?R N)r31957      
1111111111111111
,PHPChina 开源社区门户D-tG yN$I B(g
      
2222222222222222
,PHPChina 开源社区门户6s d*oP(}.h$R
      
2222222222222222
,PHPChina 开源社区门户G*namh
      
3333333333333333
,
L$M#J"M/i4p31957      
444444445555661
1PHPChina 开源社区门户w_.l;od sd*U GD[
    
);PHPChina 开源社区门户{2HUv7}
    
$str=“”
;PHPChina 开源社区门户kD7[u5f1^1?9a*O
    for (
$i 0$i<strlen($utf8_string

_c7r&uO/J31957        && 
$i + ($utf8len $mblen_table_utf8[ord($utf8_string[$i])]) < $len
; ) {PHPChina 开源社区门户.p*VS$M|1{
            
///解释原理/
.C B-{*gR31957            // 获取第一个字的 ASCII 值PHPChina 开源社区门户6xD2gUf
            //$index   = ord($utf8_string[$i]);PHPChina 开源社区门户Kg#O|E-}
            // 获取对应的 UTF-8 的长度PHPChina 开源社区门户P}4Cw{B,uG6_|
            //$utf8len = $mblen_table_utf8[$index];
|~Z'wqN1c31957            ///解释结束/
:Us5CM /9u1s!o31957            PHPChina 开源社区门户TXQk`3Tu6HE
            // 获取一个 UTF-8 的字PHPChina 开源社区门户3yL7x&K:tI } o3M
            
$word    substr($utf8_string$i$utf8len
);PHPChina 开源社区门户+t!M4EB/X.A4E+/
            
$str .= $word
;PHPChina 开源社区门户x�p.W#}e
            
$i      += $utf8len
;
#K!_/Q~4/ UI9mxTu31957    }
h7t/el_!xH3z31957    return  
$str
;
.bNZ"I4l31957}PHPChina 开源社区门户@~/vPG[ ]x&Bd
?>PHPChina 开源社区门户x"Vl'O4sk.C"|4~M'n

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值