分享一个支持UTF-8的PHP字符串截取函数

2022-12-23 17:54:22 浏览数 (1)

截取UTF-8编码字符串的方法有很多,我也分享一个:

代码语言:javascript复制
function cutStr($Str, $Length)
{
    global $s;
    $i = 0;
    $l = 0;
    $ll= strlen($Str);
    $s = $Str;
    $f = true; 

    while ($i <= $ll) {
        if (ord($Str{$i}) < 0x80) {
            $l  ; $i  ;
        } elseif (ord($Str{$i}) < 0xe0) {
            $l  ; $i  = 2;
        } elseif (ord($Str{$i}) < 0xf0) {
            $l  = 2; $i  = 3;
        } elseif (ord($Str{$i}) < 0xf8) {
            $l  = 1; $i  = 4;
        } elseif (ord($Str{$i}) < 0xfc) {
            $l  = 1; $i  = 5;
        } elseif (ord($Str{$i}) < 0xfe) {
            $l  = 1; $i  = 6;
        }
        if (($l >= $Length - 1) && $f) {
            $s = substr($Str, 0, $i);
            $f = false;
        }
        if (($l > $Length) && ($i < $ll)) {
            $s = $s . '...';
            break; //如果进行了截取,字符串末尾加省略符号“...”
        }
    }
    return $s;
}

0 人点赞