使用PHP实现指定长度的截断
复制代码代码如下所示:
功能cutstr(美元美元美元的字符串,长度,点= '…)){
如果(strlen(字符串长度<=美元)美元){
返回$字符串;
}
$预= CHR(1);
美元= CHR(1);
$字符串str_replace(array(' ',' ',' '),数组($预。$预。美元。结束。,前$。$ $。);
strcut美元=;
如果(strtolower(charset)= = 'utf-8){
$ = $ = $ $ NOC = 0;
而($ n<strlen($字符串)){
$ T = ORD($字符串{ $ n });
如果($ T = = 9 = = 10 | | | | $ t(32 <= $ T $ 126)){
TN = 1美元;
美元+;
美元+;
} elseif(194 < = $ T $ T <= 223){
美元= 2;
$ = 2;
2美元;
} elseif(224 < = $ T $ T <= 239){
美元= 3;
$ = 3;
2美元;
} elseif(240 < = $ T $ T <= 247){
美元= 4;
$ = 4;
2美元;
} elseif(248 < = $ T $ T <= 251){
美元= 5;
$ = 5;
2美元;
($ T = = 252 } = = 253 { $ T | |)
美元= 6;
$ = 6;
2美元;
{人}
美元+;
}
如果($ NOC = $长度){
打破;
}
}
如果($ $ $长度){
美元=美元;
}
strcut美元= substr($ 0,$字符串,n);
{人}
($ i = 0;$ i $ $长度;$ + +){
strcut美元= ORD($字符串{我})> 127美元美元美元字符串{我} { C++字符串我}:美元美元美元字符串{我};
}
}
strcut美元= str_replace(阵列(元前。美元,美元。。美元),阵列(' ',' ',' '),strcut美元);
POS =个子美元(美元strcut,CHR(1));
如果($)!= false){
strcut美元= substr(strcut美元,0美元,POS);
}
返回的strcut。合点;
}