1. 程式人生 > >php中按位元組擷取字串方法,(漢字佔兩個位元組,字母佔一個位元組,頁面編碼必須為utf-8)

php中按位元組擷取字串方法,(漢字佔兩個位元組,字母佔一個位元組,頁面編碼必須為utf-8)

function esub($str, $length = 0) {

    if($length < 1){
        return $str;
    }

    //計算字串長度
    $strlen = (strlen($str) + mb_strlen($str,"UTF-8")) / 2;
    if($strlen < $length){
        return $str;
    }

    if(mb_check_encoding($str,"UTF-8")){
        $str = mb_strcut(mb_convert_encoding($str, "GBK","UTF-8"), 0, $length, "GBK");
        $str = mb_convert_encoding($str, "UTF-8", "GBK");

    }else{

        return "不支援的文件編碼";
    }

//    $str = rtrim($str," ,.。,-——(【、;‘“??《<@");
    return $str;
}

$str = "國際 CF210A 211A 212A 213A硒鼓(適用HP惠普CF210A 恩";

$a = esub($str,50);
echo $a;