欢迎访问我的个人空间! 本人其它空间1:  http://my.tv.cctv.com/?172135 本人其它空间2:http://www.phpchina.com/?23522 欢迎访问!

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

上一篇 / 下一篇  2008-03-12 18:29:12

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


<?php
//函数功能:从$utf8_string截取不大于$len字节的的字符串
function utf8_str_cut($utf8_string$len
) {
    
//
    // 这个阵列是跟MB_STRING里面的libmbfl/filters/mbfilter_utf8.c借用的
    
$mblen_table_utf8 
= array(
      
1111111111111111
,
      
1111111111111111
,
      
1111111111111111
,
      
1111111111111111
,
      
1111111111111111
,
      
1111111111111111
,
      
1111111111111111
,
      
1111111111111111
,
      
1111111111111111
,
      
1111111111111111
,
      
1111111111111111
,
      
1111111111111111
,
      
2222222222222222
,
      
2222222222222222
,
      
3333333333333333
,
      
444444445555661
1
    
);
    
$str=“”
;
    for (
$i 0$i<strlen($utf8_string

        && 
$i + ($utf8len $mblen_table_utf8[ord($utf8_string[$i])]) < $len
; ) {
            
///////////解释原理/////////////////////
            // 获取第一个字的 ASCII 值
            //$index   = ord($utf8_string[$i]);
            // 获取对应的 UTF-8 的长度
            //$utf8len = $mblen_table_utf8[$index];
            ///////////解释结束/////////////////////
            
            // 获取一个 UTF-8 的字
            
$word    substr($utf8_string$i$utf8len
);
            
$str .= $word
;
            
$i      += $utf8len
;
    }
    return  
$str
;
}
?>


TAG: php PHP Php 函数 字符 len字节 string

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar